aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2013-09-03tree-ssa-threadedge.c (thread_across_edge): Record entire path when not ↵Jeff Law6-17/+44
threading through a joiner block. * tree-ssa-threadedge.c (thread_across_edge): Record entire path when not threading through a joiner block. Pass joiner/no joiner state to register_jump_thread. * tree-ssa-threadupdate.c (register_jump_thread): Get joiner/no joiner state from argument rather than implying on path length. Dump the entire jump thread path into debugging dump. * tree-flow.h (register_jump_thread): Update prototype. * tree-ssa/ssa-dom-thread-3.c: Update due to changes in debug dump output. From-SVN: r202232
2013-09-03Remove a trivial assert (missed in previous checkin)Xinliang David Li2-1/+5
From-SVN: r202230
2013-09-03Delay base decl's alignment adjustment until transformation happensXinliang David Li9-15/+114
From-SVN: r202229
2013-09-03revert: tree-vrp.c (check_array_ref): Bail out on zero-length arrays.Meador Inge4-15/+18
gcc/ 2013-09-03 Meador Inge <meadori@codesourcery.com> Revert: 2013-08-30 Meador Inge <meadori@codesourcery.com> * tree-vrp.c (check_array_ref): Bail out on zero-length arrays. gcc/testsuite/ 2013-09-03 Meador Inge <meadori@codesourcery.com> Revert: 2013-08-30 Meador Inge <meadori@codesourcery.com> * gcc.dg/Warray-bounds-11.c: New testcase. From-SVN: r202228
2013-09-03* lib/target-supports.exp (check_weak_available): Return true for AIX.David Edelsohn2-0/+10
From-SVN: r202227
2013-09-03rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Emit lglobl for function descriptor.David Edelsohn2-0/+8
* config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Emit lglobl for function descriptor. From-SVN: r202226
2013-09-03* g++.dg/ipa/devirt-15.C: Fix testcase.Jan Hubicka2-1/+5
From-SVN: r202225
2013-09-03tree-affine.c (add_elt_to_tree): Fix association issue...Richard Biener2-14/+26
2013-09-03 Richard Biener <rguenther@suse.de> * tree-affine.c (add_elt_to_tree): Fix association issue, avoid useless converts and make sure to always return a properly typed result. From-SVN: r202205
2013-09-03re PR tree-optimization/57656 (Wrong constant folding)Richard Biener4-14/+55
2013-09-03 Richard Biener <rguenther@suse.de> PR middle-end/57656 * fold-const.c (negate_expr_p): Fix division case. (negate_expr): Likewise. * gcc.dg/torture/pr57656.c: New testcase. From-SVN: r202204
2013-09-03c-objc-common.c (c_tree_printer): Tidy.Gabriel Dos Reis9-165/+193
c/ * c-objc-common.c (c_tree_printer): Tidy. c-family/ * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual member function. (c_pretty_printer::storage_class_specifier): Likewise. (c_pretty_printer::initializer): Likewise. (pp_declaration): Remove. (pp_declaration_specifiers): Likewise. (pp_abstract_declarator): Likewise. (pp_declarator): Likewise. (pp_type_id): Likewise. (pp_statement): Likewise. (pp_constant): Likewise. (pp_id_expression): Likewise. (pp_primary_expression): Likewise. (pp_unary_expression): Likewise. (pp_multiplicative_expression): Likewise. (pp_conditional_expression): Likewise. (pp_assignment_expression): Likewise. (pp_expression): Likewise. (pp_c_type_id): Likewise. (pp_c_storage_class_specifier): Likewise. * c-pretty-print.c (pp_c_type_cast): Tidy. (pp_c_pointer): Likewise. (pp_c_type_specifier): Likewise. (pp_c_parameter_type_list): Likewise. (pp_c_function_definition): Likewise. (pp_c_init_declarator): Likewise. (pp_c_initializer_list): Likewise. (pp_c_constructor_elts): Likewise. (c_pretty_printer::direct_abstract_declarator): Likewise. (c_pretty_printer::declaration_specifiers): Likewise. (c_pretty_printer::primary_expression): Likewise. (c_pretty_printer::postfix_expression): Likewise. (c_pretty_printer::type_id): Rename from pp_c_type_id. (c_pretty_printer::storage_class_specifier): Rename from pp_c_storage_class_specifier. (c_pretty_printer::initializer): Rename from pp_c_initializer. (c_pretty_printer::c_pretty_printer): Do not assign to type_id, storage_class_specifier, initializer, offset_list, flags. cp/ * cxx-pretty-print.h (cxx_pretty_printer::type_id): Declare as overrider. * cxx-pretty-print.c (pp_cxx_storage_class_specifier): Remove. (pp_cxx_userdef_literal): Tidy. (pp_cxx_template_argument_list): Likewise. (pp_cxx_typeid_expression): Likewise. (pp_cxx_offsetof_expression_1): Likewise. (cxx_pretty_printer::postfix_expression): Likewise. (cxx_pretty_printer::unary_expression): Likewise. (cxx_pretty_printer::statement): Likewise. (cxx_pretty_printer::type_id): Rename from pp_cxx_type_id. (c_pretty_printer::cxx_pretty_printer): Do not assign to type_id. * error.c (dump_decl): Tidy. (dump_expr): Likewise. From-SVN: r202203
2013-09-03re PR lto/58285 (ICE in lto_output_tree, at lto-streamer-out.c:1318)Richard Biener3-1/+8
2013-09-03 Richard Biener <rguenther@suse.de> PR lto/58285 * tree-streamer-out.c: Include tm.h. * Makefile.in (tree-streamer-out.o): Depend on $(TM_H). From-SVN: r202202
2013-09-03re PR middle-end/57287 (Bogus uninitialized warning with abnormal control flow)Richard Biener2-3/+8
2013-09-03 Richard Biener <rguenther@suse.de> PR middle-end/57287 * gcc.dg/pr57287-2.c: Use setjmp, not __sigsetjmp. From-SVN: r202197
2013-09-03Daily bump.GCC Administrator1-1/+1
From-SVN: r202195
2013-09-02* tree-profile.c (tree_profiling): Cleanup CFG when done.Jan Hubicka2-0/+6
From-SVN: r202191
2013-09-03config.gcc (powerpc*-*-linux*): Add support for little-endian multilibs to ↵Alan Modra6-6/+47
big-endian target and vice versa. * config.gcc (powerpc*-*-linux*): Add support for little-endian multilibs to big-endian target and vice versa. * config/rs6000/t-linux64: Use := assignment on all vars. (MULTILIB_EXTRA_OPTS): Remove fPIC. (MULTILIB_OSDIRNAMES): Specify using mapping from multilib_options. * config/rs6000/t-linux64le: New file. * config/rs6000/t-linux64bele: New file. * config/rs6000/t-linux64lebe: New file. From-SVN: r202190
2013-09-02PR fortran/PR56519Thomas Koenig6-9/+49
2013-09-02 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/PR56519 * gfortran.h: Declare gfc_do_concurrent_flag as extern. * resolve.c: Rename do_concurrent_flag to gfc_do_concurrent_flag and make non-static. (resolve_function): Use gfc_do_concurrent_flag instead of do_concurrent_flag. (pure_subroutine): Likewise. (resolve_code): Likewise. (resolve_types): Likewise. * intrinsic.c (gfc_intrinsic_sub_interface): Raise error for non-pure intrinsic subroutines within DO CONCURRENT. 2013-09-02 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/PR56519 * gfortran.dg/do_concurrent_3.f90: New test case. From-SVN: r202188
2013-09-02ipa-inline-transform.c (inline_transform): Do not optimize_inline_calls when ↵Jan Hubicka2-1/+6
not optimizing. * ipa-inline-transform.c (inline_transform): Do not optimize_inline_calls when not optimizing. From-SVN: r202187
2013-09-02lto-symtab.c (lto_symtab_merge_symbols): Add comments; merge duplicated ↵Jan Hubicka3-2/+28
nodes for assembler names. * lto-symtab.c (lto_symtab_merge_symbols): Add comments; merge duplicated nodes for assembler names. * symtab.c (symtab_unregister_node): Do not attempt to unlink hard registers from assembler name hash. From-SVN: r202186
2013-09-02ipa-split.c (execute_split_functions): Split externally visible functions ↵Jan Hubicka4-1/+35
called once. * ipa-split.c (execute_split_functions): Split externally visible functions called once. * gcc.dg/tree-ssa/fnsplit-1.c: New testcase. From-SVN: r202185
2013-09-02re PR ipa/58106 (ICE: in ipa_edge_duplication_hook, at ipa-prop.c:2839)Martin Jambor4-8/+72
2013-09-02 Martin Jambor <mjambor@suse.cz> PR ipa/58106 * ipa-prop.c (ipa_edge_duplication_hook): Always put new rdesc to the linked list. When finding the correct duplicate, also consider also the caller in additon to its inlined_to node. testsuite/ * gcc.dg/ipa/pr58106.c: New test. From-SVN: r202184
2013-09-02[AArch64] Rewrite the vdup_lane intrinsics in CJames Greenhalgh7-597/+882
gcc/ * config/aarch64/aarch64-simd-builtins.def (dup_lane_scalar): Remove. * config/aarch64/aarch64-simd.md (aarch64_simd_dup): Add 'w->w' alternative. (aarch64_dup_lane<mode>): Allow for VALL. (aarch64_dup_lane_scalar<mode>): Remove. (aarch64_dup_lane_<vswap_width_name><mode>): New. (aarch64_get_lane_signed<mode>): Add w->w altenative. (aarch64_get_lane_unsigned<mode>): Likewise. (aarch64_get_lane<mode>): Likewise. * config/aarch64/aarch64.c (aarch64_evpc_dup): New. (aarch64_expand_vec_perm_const_1): Use aarch64_evpc_dup. * config/aarch64/iterators.md (VSWAP_WIDTH): New. (VCON): Change container of V2SF. (vswap_width_name): Likewise. * config/aarch64/arm_neon.h (__aarch64_vdup_lane_any): New. (__aarch64_vdup<q>_lane<q>_<fpsu><8,16,32,64>): Likewise. (vdup<q>_n_<psuf><8,16,32,64>): Convert to C implementation. (vdup<q>_lane<q>_<fpsu><8,16,32,64>): Likewise. gcc/testsuite/ * gcc.target/aarch64/scalar_intrinsics.c (vdup<bhsd>_lane<su><8,16,32,64>): Force values to SIMD registers. From-SVN: r202180
2013-09-02re PR middle-end/56382 (FAIL: gcc.c-torture/compile/pr55921.c (internal ↵Eric Botcazou2-4/+15
compiler error)) PR middle-end/56382 * expr.c (emit_move_complex): Do not move complex FP values as parts if the source or the destination is a single hard register. From-SVN: r202179
2013-09-02lto.c (mentions_vars_p_field_decl, [...]): DECL_FIELD_OFFSET can contain an ↵Jan Hubicka2-2/+7
reference to variable. * lto.c (mentions_vars_p_field_decl, lto_fixup_prevailing_decls): DECL_FIELD_OFFSET can contain an reference to variable. From-SVN: r202174
2013-09-02Split all the structures, enums, typedefs and some fundamental declarations ↵Diego Novillo5-1705/+1710
from tree.h into tree-core.h. Split all the structures, enums, typedefs and some fundamental declarations from tree.h into tree-core.h. Everything else stays in tree.h for now. As we convert gimple files, we'll move declarations out of tree.h into other headers and rewrite missing functions in the new gimple API. * Makefile.in (TREE_CORE_H): Define. (TREE_H): Use. (GTFILES): Add tree-core.h. * builtins.c (built_in_class_names): Use BUILT_IN_LAST to size the array. * tree-core.h: New file. Move all data structures, enum, typedefs, global declarations and constants from ... * tree.h: ... here. From-SVN: r202172
2013-09-02re PR tree-optimization/57511 (Missing SCEV final value replacement)Richard Biener4-0/+27
2013-09-02 Richard Biener <rguenther@suse.de> PR middle-end/57511 * tree-scalar-evolution.c (instantiate_scev_name): Allow non-linear SCEVs. * gcc.dg/tree-ssa/sccp-1.c: New testcase. From-SVN: r202168
2013-09-02tree-affine.c (add_elt_to_tree): Avoid converting all pointer arithmetic to ↵Richard Biener4-20/+42
sizetype. 2013-09-02 Richard Biener <rguenther@suse.de> * tree-affine.c (add_elt_to_tree): Avoid converting all pointer arithmetic to sizetype. * gcc.dg/tree-ssa/loop-4.c: Adjust scan looking for one memory reference. From-SVN: r202165
2013-09-02tree-ssa-loop-ivopts.c (set_autoinc_for_original_candidates): Find ↵Bin Cheng4-8/+50
auto-increment use both before and after candidate. * tree-ssa-loop-ivopts.c (set_autoinc_for_original_candidates): Find auto-increment use both before and after candidate. * gcc.target/arm/ivopts-orig_biv-inc.c: New testcase. From-SVN: r202164
2013-09-02PR c++/21682, implement DR 565Paolo Carlini6-5/+133
/cp 2013-09-02 Paolo Carlini <paolo.carlini@oracle.com> PR c++/21682, implement DR 565 * name-lookup.c (compparms_for_decl_and_using_decl): New. (push_overloaded_decl_1, do_nonmember_using_decl): Use it. /testsuite 2013-09-02 Paolo Carlini <paolo.carlini@oracle.com> PR c++/21682, implement DR 565 * g++.dg/template/using24.C: New. * g++.dg/template/using25.C: Likewise. * g++.dg/template/using26.C: Likewise. From-SVN: r202163
2013-09-02Makefile.in (ubsan.o): Add $(TM_P_H) dependency.Marek Polacek2-1/+5
2013-09-02 Marek Polacek <polacek@redhat.com> * Makefile.in (ubsan.o): Add $(TM_P_H) dependency. From-SVN: r202159
2013-09-02Daily bump.GCC Administrator1-1/+1
From-SVN: r202158
2013-09-01Makefile.in: Add ipa-profile.oJan Hubicka8-639/+704
* Makefile.in: Add ipa-profile.o (ipa.o, ipa-devrit.o, ipa-inline-analysis.o): Adjust dependencies. * cgraph.c (struct cgraph_propagate_frequency_data, cgraph_propagate_frequency_1, cgraph_propagate_frequency): Move to ipa-profile.c; replace cgraph_ by ipa_ prefix. * cgraph.h (cgraph_propagate_frequency): Remove. * ipa-inline-analysis.c: Include ipa-utils.h; drop duplicated cfgloop.h. (inline_update_callee_summaries): Update. * ipa-profile.c: New file. * ipa-utils.h (ipa_propagate_frequency): Declare. * ipa.c: Do not include pointer-set.h, hash-table.h, lto-streamer.h, data-streamer.h, value-prof.h (symtab_remove_unreachable_nodes): Update profile. (struct histogram_entry, histogram, histogram_pool, histogram_hash, account_time_size, cmp_counts, dump_histogram, ipa_profile_generate_summary, ipa_profile_write_summary, ipa_profile_read_summary, ipa_profile, gate_ipa_profile, pass_data_ipa_profile, pass_ipa_profile, make_pass_ipa_profile): Move to ipa-profile.c From-SVN: r202154
2013-09-01* g++.dg/ipa/devirt-15.C: New testcase.Jan Hubicka2-0/+44
From-SVN: r202153
2013-09-01re PR ada/58239 (pretty-print.c:789: undefined reference to `operator ↵Eric Botcazou3-3/+22
delete(void*)') PR ada/58239 gnattools/ * Makefile.in (CXX_LFLAGS): New. (TOOLS_FLAGS_TO_PASS_NATIVE): Pass CXX and CXX_LFLAGS. (TOOLS_FLAGS_TO_PASS_RE): Likewise. (TOOLS_FLAGS_TO_PASS_CROSS): Pass CXX. gcc/ada/ * gcc-interface/Makefile.in (GCC_LINK_FLAGS): Add -static-libstdc++. (GCC_LINK): Use CXX instead of CC. * gcc-interface/Make-lang.in (CXX_LFLAGS): New. (ADA_TOOLS_FLAGS_TO_PASS): Pass CXX, and CXX_LFLAGS for native. Co-Authored-By: Iain Sandoe <iain@codesourcery.com> From-SVN: r202150
2013-09-01pa.md: Allow "const 0" operand 1 in "scc" insns.John David Anglin2-8/+12
* config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns. From-SVN: r202149
2013-09-01* gnat.dg/specs/linker_alias.ads: Skip on Darwin.Eric Botcazou2-0/+5
From-SVN: r202148
2013-09-01Correct previous commit to the final version of patch.Jan Hubicka3-6/+6
From-SVN: r202146
2013-09-01common.opt (fdevirtualize-speculatively): New function.Jan Hubicka11-5/+316
* common.opt (fdevirtualize-speculatively): New function. * invoke.texi (fdevirtualize-speculatively): Document. * ipa-devirt.c: Include ipa-inline.h (likely_target_p): New function. (ipa_devirt): New function. (gate_ipa_devirt): New function. (pass_data_ipa_devirt): New static var. (pass_ipa_devirt): Likewise. (make_pass_ipa_devirt): New function. * opts.c (default_options): Add OPT_fdevirtualize_speculatively. (common_handle_option): Disable devirtualization when value range profiling is available. * passes.def (pass_ipa_devirt): Add. * timever.def (TV_IPA_DEVIRT): New timevar. * tree-pass.h (make_pass_ipa_devirt): From-SVN: r202145
2013-09-01darwin.h (LINK_COMMAND_SPEC_A): Revise sanitizer specs to include ↵Iain Sandoe2-1/+7
sanitize(undefined). gcc: * config/darwin.h (LINK_COMMAND_SPEC_A): Revise sanitizer specs to include sanitize(undefined). libsanitizer: * ubsan/Makefile.am (libubsan_la_LIBADD): Revise to omit libinterception.la for Darwin. * ubsan/Makefile.in: Regenerate. From-SVN: r202144
2013-09-01lto.c (tree_with_vars): Turn into vector.Jan Hubicka2-140/+210
* lto.c (tree_with_vars): Turn into vector. (MAYBE_REMEMBER_WITH_VARS): Change to... (CHECK_VAR): ... this one. (CHECK_NO_VAR): New macro. (maybe_remember_with_vars_typed): Turn to ... (mentions_vars_p_typed): ... this one. (maybe_remember_with_vars_common): Turn to ... (mentions_vars_p_comon): ... this one. (maybe_remember_with_vars_decl_minimal): Turn to ... (mentions_vars_p_decl_minmal): ... this one. (maybe_remember_with_vars_decl_common): Turn to ... (mentions_vars_p_decl_common): ... this one. (maybe_remember_with_vars_decl_with_vis): Turn to ... (mentions_vars_p_decl_with_vis): ... this one. (maybe_remember_with_vars_decl_non_common): Turn to ... (mentions_vars_p_decl_non_common): ... this one. (maybe_remember_with_vars_function): Turn to ... (mentions_vars_p_function): ... this one. (maybe_remember_with_vars_field_decl): Turn to ... (mentions_vars_p_field_decl): ... this one. (maybe_remember_with_vars_type): Turn to ... (mentions_vars_p_type): ... this one. (maybe_remember_with_vars_binfo): Turn to ... (mentions_vars_p_binfo): ... this one. (maybe_remember_with_vars_constructor): Turn to ... (mentions_vars_p_constructor): ... this one. (maybe_remember_with_vars_expr): Turn to ... (mentions_vars_p_expr): ... this one. (maybe_remember_with_vars): Turn to ... (mentions_vars_p): ... this one. (lto_read_decls): Update. (LTO_SET_PREVAIL): Do not call function for internal decls. (lto_fixup_prevailing_decls): Update to match mentions_vars_p; check that something was updated. (lto_fixup_state): Do not care about internal decls. (lto_fixup_decls): Update. (read_cgraph_and_symbols): Update. From-SVN: r202143
2013-09-01fork-instrumentation.c: New testcase.Jan Hubicka4-0/+24
* gcc.dg/fork-instrumentation.c: New testcase. * builtins.c (expand_builtin): Do not exit early for gcov instrumented functions. From-SVN: r202142
2013-09-01Daily bump.GCC Administrator1-1/+1
From-SVN: r202139
2013-08-31ubsan.c: Include tm_p.h.Marek Polacek2-0/+5
2013-08-31 Marek Polacek <polacek@redhat.com> * ubsan.c: Include tm_p.h. From-SVN: r202134
2013-08-31gimple-streamer-in.c (input_gimple_stmt): Silence parameter unused warning.Jan Hubicka2-2/+5
* gimple-streamer-in.c (input_gimple_stmt): Silence parameter unused warning. From-SVN: r202133
2013-08-31cgraph.c (cgraph_get_body): Update call of lto_input_function_body.Jan Hubicka5-9/+18
* cgraph.c (cgraph_get_body): Update call of lto_input_function_body. * gimple-streamer-in.c (input_gimple_stmt): Move sanity check to ... * tree-cfg.c (verify_gimple_label): ... here. * ipa-utils.c: Include lto-streamer.h, ipa-inline.h (ipa_merge_profiles): New function. * lto-streamer-in.c (lto_read_body): Take node instead of fn_decl. (lto_input_function_body): Likewise. * ipa-utils.h (ipa_merge_profiles): Declare. * lto-streamer.h (lto_input_function_body): Update prototype. (emit_label_in_global_context_p): Remove. * lto-symtab.c: Include ipa-utils.h (lto_cgraph_replace_node): Use ipa_merge_profiles. From-SVN: r202131
2013-08-31cgraph.c (cgraph_get_body): Update call of lto_input_function_body.Jan Hubicka5-10/+189
* cgraph.c (cgraph_get_body): Update call of lto_input_function_body. * gimple-streamer-in.c (input_gimple_stmt): Move sanity check to ... * ipa-utils.c: Include lto-streamer.h, ipa-inline.h (ipa_merge_profiles): New function. * lto-streamer-in.c (lto_read_body): Take node instead of fn_decl. (lto_input_function_body): Likewise. From-SVN: r202130
2013-08-31* cgraph.c (cgraph_speculative_call_info): Fix ref lookupJan Hubicka2-1/+5
From-SVN: r202129
2013-08-31* basic-block.h (apply_scale): Make scale parmeter gcov_type.Jan Hubicka2-1/+5
From-SVN: r202128
2013-08-31alpha.c (alpha_emit_conditional_move): Update "cmp" RTX before ↵Uros Bizjak2-18/+20
signed_comparison_operator check to account for "code"... * config/alpha/alpha.c (alpha_emit_conditional_move): Update "cmp" RTX before signed_comparison_operator check to account for "code" changes. From-SVN: r202127
2013-08-31ipa-prop.c (ipa_set_jf_known_type): Check that we add only records.Jan Hubicka2-47/+114
* ipa-prop.c (ipa_set_jf_known_type): Check that we add only records. (detect_type_change_1): Rename to ... (detect_type_change): ... this one; early return on non-polymorphic types. (detect_type_change_ssa): Add comp_type parameter; update use of detect_type_change. (compute_complex_assign_jump_func): Add param_type parameter; update use of detect_type_change_ssa. (compute_complex_ancestor_jump_func): Likewise. (ipa_get_callee_param_type): New function. (ipa_compute_jump_functions_for_edge): Compute parameter type; update calls to the jump function computation functions. From-SVN: r202126
2013-08-31This patch sanitizes the partitioning to address issues such as edge weight ↵Teresa Johnson7-8/+352
insanities that sometimes occur due to upstream optimizations... This patch sanitizes the partitioning to address issues such as edge weight insanities that sometimes occur due to upstream optimizations, and ensures that hot blocks are not dominated by cold blocks. This needs to be resanitized after certain cfg optimizations that may cause hot blocks previously reached via both hot and cold paths to only be reached by cold paths. The verification code in sanitize_dominator_hotness was contributed by Steven Bosscher. 2013-08-29 Teresa Johnson <tejohnson@google.com> Steven Bosscher <steven@gcc.gnu.org> * cfgrtl.c (fixup_new_cold_bb): New routine. (commit_edge_insertions): Invoke fixup_partitions. (find_partition_fixes): New routine. (fixup_partitions): Ditto. (verify_hot_cold_block_grouping): Update comments. (rtl_verify_edges): Invoke find_partition_fixes. (rtl_verify_bb_pointers): Update comments. (rtl_verify_bb_layout): Ditto. * basic-block.h (probably_never_executed_edge_p): Declare. (fixup_partitions): Ditto. * cfgcleanup.c (try_optimize_cfg): Invoke fixup_partitions. * bb-reorder.c (sanitize_hot_paths): New function. (find_rarely_executed_basic_blocks_and_crossing_edges): Invoke sanitize_hot_paths. * predict.c (probably_never_executed_edge_p): New routine. * cfg.c (check_bb_profile): Add partition insanity warnings. Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org> From-SVN: r202125