mcf.c: Do not include tm.h, tree.h, and langhooks.h.
[gcc.git] / gcc / ChangeLog
index bae00c6ba3f6ca5b141df48e1e074b7cd51b5ceb..c0883035d9d67a5566e3bcedf08573cf197bdaf6 100644 (file)
@@ -1,3 +1,135 @@
+2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * mcf.c: Do not include tm.h, tree.h, and langhooks.h.
+       (dump_fixup_graph): Use current_function_name.
+       (adjust_cfg_counts): Likewise.
+       * ira-conflicts.c: Do not include tree.h.
+       (ira_build_conflicts): Use REG_USERVAR_P instead of DECL_ARTIFICIAL.
+
+2012-07-08  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/51244
+       * config/sh/sh.md (*branch_true_eq, *branch_false_ne, nott): New insns.
+
+2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * basic-block.h: Re-group most prototypes per file.
+       (struct edge_list): Remove num_blocks field.
+       (dump_bb_info): Adjust prototypes.
+       (dump_reg_info): Move prototype to regs.h.
+       * function.h: Do not include tree.h.
+       Include vec.h, vecir.h, input.h and machmode.h to compensate.
+       (function_name): New prototype.
+       * gimple.h: Include tree.h to compensate for basic-block.h change.
+       * langhooks.h: Note that tree.h is only necessary for enum tree_code.
+       * regs.h (dump_reg_info): Prototype here.
+       * regset.h: Adjust file reference in comment.
+       (debug_regset): Remove prototype.
+       * rtl.h: Include flags.h for flag_var_tracking_assignments.
+       (MAY_HAVE_DEBUG_INSNS): Define as flag_var_tracking_assignments
+       instead of no-longer-available tree.h's MAY_HAVE_DEBUG_STMTS.
+       (dump_reg_info, dump_flow_info): Remove prototypes.
+       * bb-reorder.c (set_edge_can_fallthru_flag): Move from cfganal.c
+       to here, the only user.  Make static.
+       (reorder_basic_blocks): Call dump_reg_info before dump_flow_info.
+       * cfg.c: Do not include tm.h, tree.h, rtl.h, hard-reg-set.h, regs.h,
+       flags.h, function.h, except.h, diagnostic-core.h, tm_p.h, timevar.h,
+       tree-pass.h, cfgloop.h, and tree-flow.h.
+       Include basic-block.h, the first header I'd expect to be included.
+       (reg_obstack): Move to df-core.c.
+       (free_edge): Remove bogus ATTRIBUTE_UNUSED.
+       (remove_edge_raw): Do not call tree-ssa's redirect_edge_var_map_clear.
+       (redirect_edge_succ_nodup): Move to cfghooks.c.
+       (dump_regset, debug_regset): Move to df-core.c.
+       (dump_bb_info): Move to cfgrtl.c.
+       (dump_reg_info): Move to regstat.c.
+       (dump_flow_info): Move to cfgrtl.c.
+       (debug_flow_info): Likewise.
+       (dump_edge_info): Do not look at cfun, a CFG without cfun is nonsense.
+       * cfganal.c: Do not include tm.h, rtl.h, obstack.h, hard-reg-set.h,
+       insn-config.h, recog.h, diagnostic-core.h, tm_p.h, and cfgloop.h.
+       (flow_active_insn_p, forwarder_block_p, can_fallthru,
+       could_fall_through): Move to cfgrtl.c.
+       (set_edge_can_fallthru_flag): Moved to bb-reorder.c.
+       (create_edge_list): Do not set edge_list's removed num_blocks.
+       (print_edge_list): Look at n_basic_blocks instead of num_blocks.
+       (flow_nodes_print): Remove.
+       (flow_edge_list_print): Remove.
+       (inverted_post_order_compute): Use FOR_ALL_BB.
+       *cfgrtl.c (dump_flow_info): Moved from cfg.c.
+       Do not call dump_reg_info.
+       (debug_flow_info): Moved from cfg.c
+       (dump_bb_info): Moved from cfg.c.  Take 'verbose' argument
+       to avoid looking at TDF_* flags from tree-pass.h.
+       (flow_active_insn_p, forwarder_block_p, can_fallthru,
+       could_fall_through): Moved from cfganal.c.
+       (print_rtl_with_bb): Adjust dump_bb_info calls.
+       * cfghooks.c (redirect_edge_succ_nodup): Moved from cfg.c.
+       (remove_edge): Call redirect_edge_var_map_clear if IR_GIMPLE.
+       (cfgcleanup.c): Look at MAY_HAVE_DEBUG_INSNS, not MAY_HAVE_DEBUG_STMTS.
+       * cselib.c: Include tree.h with a FIXME.
+       * df-core.c (reg_obstack): Moved from cfg.c.
+       (dump_regset): Likewise.
+       (debug_regset): Likewise.  Make a DEBUG_FUNCTION.
+       * final.c (compute_alignments): Call dump_reg_info before
+       dump_flow_info.
+       * function.c (function_name): New function.
+       (current_function_name): Use it.
+       * ifcvt.c (rest_of_handle_if_conversion): Call dump_reg_info before
+       dump_flow_info.
+       * ira-conflicts.c: Include tree.h with a note.
+       * regstat.c (dump_reg_info): Moved here from cfg.c.
+       * loop-init.c: Include regs.h instead of hard-reg-set.h.
+       (rtl_loop_init): Call dump_reg_info before dump_flow_info.
+       (rtl_loop_done): Likewise.
+       * mcf.c: Include tree.h before langhooks.h.
+       * predict.c (maybe_hot_count_p): Assert we have cfun.
+       (probably_never_executed_bb_p): Likewise.
+       * profile.c (compute_branch_probabilities): Use gimple_dump_cfg
+       instead of dump_flow_info.
+       * sched-deps.c: Include tree.h with a FIXME.
+       (call_may_noreturn_p): Add FIXME note why this function has to
+       look at function decls instead of function decl flags.
+       * sched-vis.c: Include tree.h with a FIXME.
+       (print_rtl_slim): Adjust dump_bb_info uses.
+       * statistics.c (statistics_fini_pass_2): Use current_function_name
+       to avoid including tree.h.
+       (statistics_counter_event): Use function_name for the same reason.
+       (statistics_histogram_event): Likewise.
+       * tracer.c (tracer): Remove bogus gcc_assert.  Use brief_dump_cfg
+       instead of dump_flow_info.
+       * var-tracking.c (variable_tracking_main_1): Call dump_reg_info
+       before dump_flow_info.
+       * doc/cfg.texi: Update CFG documentation.
+       * Makefile.in (RTL_H): Depend on FLAGS_H.
+       (GIMPLE_H): Depend on TREE_H.
+       (FUNCTION_H): Depend on VEC_H, vecir.h, INPUT_H and MACHMODE_H,
+       but no longer on TREE_H.
+       (C_COMMON_H): Depend on TREE_H.
+       (cselib.o, cse.o, cfganal.o, loop-init.o, ira-conflicts.o,
+       sched-deps.o, sched-vis.o): Fixup dependencies.
+
+2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * alias.h: Do not include coretypes.h in header files.
+       * cppbuiltin.h: Likewise.
+       * double-int.h: Likewise.
+       * gimple-fold.h: Likewise.
+       * flags.h: Likewise.
+       * tree-ssa-alias.h: Likewise.
+       * gengtype.h (obstack_chunk_alloc, obstack_chunk_free,
+       OBSTACK_CHUNK_SIZE): Define here to avoid dependency on coretypes.h.
+       * Makefile.in (RTL_BASE_H): Depend on coretypes.h.
+       (TREE_H): Likewise.
+       (ALIAS_H): Do not depend on coretypes.h.
+       (FLAGS_H): Likewise.
+       (realmpfr.o): Depend on coretypes.h.
+
+2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * Makefile.in (gengtype-lex.o, gengtype-parse.o, gengtype-state.o,
+       gengtype.o): Add -DGENERATOR_FILE manually for host gengtype objects.
+
 2012-07-07  Richard Earnshaw  <rearnsha@arm.com>
 
        * arm.h (TARGET_CPU_CPP_BUILTINS): Remove Maverick support.