1. 02 Sep, 2013 18 commits
    • * tree-profile.c (tree_profiling): Cleanup CFG when done. · a64bbb3f
      From-SVN: r202191
      Jan Hubicka committed
    • config.gcc (powerpc*-*-linux*): Add support for little-endian multilibs to… · 93ed07e2
      config.gcc (powerpc*-*-linux*): Add support for little-endian multilibs to 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
      Alan Modra committed
    • regex_automaton.h: Rearrange _NFA's layout. · e3509691
      2013-09-02  Tim Shen  <timshen91@gmail.com>
      
      	* regex_automaton.h: Rearrange _NFA's layout.
      	* include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher.
      	  Rearrange _BracketMatcher's layout.
      	  (_BracketMatcher<>::_M_add_char): Use set instead of vector for
      	  _M_char_set.
      	  (_BracketMatcher<>::_M_add_collating_element): Likewise.
      	  (_BracketMatcher<>::_M_make_range): Likewise.
      	* include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use
      	  apropriate constructors of matchers above.
      	* testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
      	  New.
      	* testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New.
      	* testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
      	  New.
      	* testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
      	  New.
      	* testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New.
      	* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
      	  New.
      	* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New.
      
      From-SVN: r202189
      Tim Shen committed
    • PR fortran/PR56519 · ce96d372
      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
      Thomas Koenig committed
    • ipa-inline-transform.c (inline_transform): Do not optimize_inline_calls when not optimizing. · 07d6cd64
      
      	* ipa-inline-transform.c (inline_transform): Do not
      	optimize_inline_calls when not optimizing.
      
      From-SVN: r202187
      Jan Hubicka committed
    • lto-symtab.c (lto_symtab_merge_symbols): Add comments; merge duplicated nodes for assembler names. · 8e4c9a10
      
      	* 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
      Jan Hubicka committed
    • ipa-split.c (execute_split_functions): Split externally visible functions called once. · c91061e6
      
      	* ipa-split.c (execute_split_functions): Split externally visible
      	functions called once.
      	* gcc.dg/tree-ssa/fnsplit-1.c: New testcase.
      
      From-SVN: r202185
      Jan Hubicka committed
    • re PR ipa/58106 (ICE: in ipa_edge_duplication_hook, at ipa-prop.c:2839) · 2fd0985c
      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
      Martin Jambor committed
    • [AArch64] Rewrite the vdup_lane intrinsics in C · 91bd4114
      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
      James Greenhalgh committed
    • re PR middle-end/56382 (FAIL: gcc.c-torture/compile/pr55921.c (internal compiler error)) · d617d2d8
      	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
      Eric Botcazou committed
    • lto.c (mentions_vars_p_field_decl, [...]): DECL_FIELD_OFFSET can contain an reference to variable. · 49322b12
      	* lto.c (mentions_vars_p_field_decl, lto_fixup_prevailing_decls): 
      	DECL_FIELD_OFFSET can contain an reference to variable.
      
      From-SVN: r202174
      Jan Hubicka committed
    • Split all the structures, enums, typedefs and some fundamental declarations from… · 5e351e96
      Split all the structures, enums, typedefs and some fundamental declarations 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
      Diego Novillo committed
    • re PR tree-optimization/57511 (Missing SCEV final value replacement) · 63fdb7be
      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
      Richard Biener committed
    • tree-affine.c (add_elt_to_tree): Avoid converting all pointer arithmetic to sizetype. · 78de2333
      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
      Richard Biener committed
    • tree-ssa-loop-ivopts.c (set_autoinc_for_original_candidates): Find… · 85ff4ec6
      tree-ssa-loop-ivopts.c (set_autoinc_for_original_candidates): Find 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
      Bin Cheng committed
    • PR c++/21682, implement DR 565 · fde6f97e
      /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
      Paolo Carlini committed
    • Makefile.in (ubsan.o): Add $(TM_P_H) dependency. · 576016fe
      2013-09-02  Marek Polacek  <polacek@redhat.com>
      
      	* Makefile.in (ubsan.o): Add $(TM_P_H) dependency.
      
      From-SVN: r202159
      Marek Polacek committed
    • Daily bump. · 0023084e
      From-SVN: r202158
      GCC Administrator committed
  2. 01 Sep, 2013 11 commits
    • Makefile.in: Add ipa-profile.o · 08f835dc
      	* 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
      Jan Hubicka committed
    • * g++.dg/ipa/devirt-15.C: New testcase. · 0adad9c5
      From-SVN: r202153
      Jan Hubicka committed
    • re PR ada/58239 (pretty-print.c:789: undefined reference to `operator delete(void*)') · d775b5ea
      	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
      Eric Botcazou committed
    • pa.md: Allow "const 0" operand 1 in "scc" insns. · cec8583c
      	* config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns.
      
      From-SVN: r202149
      John David Anglin committed
    • * gnat.dg/specs/linker_alias.ads: Skip on Darwin. · bb092610
      From-SVN: r202148
      Eric Botcazou committed
    • Correct previous commit to the final version of patch. · ca1eedf6
      From-SVN: r202146
      Jan Hubicka committed
    • common.opt (fdevirtualize-speculatively): New function. · bbc9396b
      	* 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
      Jan Hubicka committed
    • darwin.h (LINK_COMMAND_SPEC_A): Revise sanitizer specs to include sanitize(undefined). · 0cea211e
      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
      Iain Sandoe committed
    • lto.c (tree_with_vars): Turn into vector. · 31f1f73b
      
      	* 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
      Jan Hubicka committed
    • fork-instrumentation.c: New testcase. · 63bf9a90
      
      	* gcc.dg/fork-instrumentation.c: New testcase.
      	* builtins.c (expand_builtin): Do not exit early for gcov
      	instrumented functions.
      
      From-SVN: r202142
      Jan Hubicka committed
    • Daily bump. · f5c7238f
      From-SVN: r202139
      GCC Administrator committed
  3. 31 Aug, 2013 11 commits
    • ubsan.c: Include tm_p.h. · 5c0abd6a
      2013-08-31  Marek Polacek  <polacek@redhat.com>
      
      	* ubsan.c: Include tm_p.h.
      
      From-SVN: r202134
      Marek Polacek committed
    • gimple-streamer-in.c (input_gimple_stmt): Silence parameter unused warning. · 8356c89c
      
      	* gimple-streamer-in.c (input_gimple_stmt): Silence parameter unused
      	warning.
      
      From-SVN: r202133
      Jan Hubicka committed
    • cgraph.c (cgraph_get_body): Update call of lto_input_function_body. · 5e581212
      
      	* 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
      Jan Hubicka committed
    • cgraph.c (cgraph_get_body): Update call of lto_input_function_body. · 4843f032
      
      	* 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
      Jan Hubicka committed
    • * cgraph.c (cgraph_speculative_call_info): Fix ref lookup · 57292ce9
      From-SVN: r202129
      Jan Hubicka committed
    • * basic-block.h (apply_scale): Make scale parmeter gcov_type. · b9cbfeeb
      From-SVN: r202128
      Jan Hubicka committed
    • alpha.c (alpha_emit_conditional_move): Update "cmp" RTX before… · 41dedebd
      alpha.c (alpha_emit_conditional_move): Update "cmp" RTX before 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
      Uros Bizjak committed
    • ipa-prop.c (ipa_set_jf_known_type): Check that we add only records. · 06d65050
      
      	* 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
      Jan Hubicka committed
    • This patch sanitizes the partitioning to address issues such as edge weight… · 600b5b1d
      This patch sanitizes the partitioning to address issues such as edge weight 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
      Teresa Johnson committed
    • Daily bump. · 7b55c620
      From-SVN: r202124
      GCC Administrator committed