Commit Graph

124992 Commits

Author SHA1 Message Date
Richard Biener
29e810b909 tree-affine.c (add_elt_to_tree): Fix association issue...
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-03 10:02:56 +00:00
Richard Biener
dbfc28948e re PR tree-optimization/57656 (Wrong constant folding)
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-03 10:00:06 +00:00
Gabriel Dos Reis
20059c8b38 c-objc-common.c (c_tree_printer): Tidy.
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-03 09:52:19 +00:00
Richard Biener
fa3bf4cec9 re PR lto/58285 (ICE in lto_output_tree, at lto-streamer-out.c:1318)
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-03 09:48:27 +00:00
Richard Biener
6fe66ee84a re PR middle-end/57287 (Bogus uninitialized warning with abnormal control flow)
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-03 07:53:05 +00:00
GCC Administrator
8017b2fcd3 Daily bump.
From-SVN: r202195
2013-09-03 00:16:44 +00:00
David Edelsohn
a4f710a657 inclhack.def (aix_assert): New fix.
* inclhack.def (aix_assert): New fix.
        * fixincl.x: Regenerate.
	* tests/base/assert.h [AIX_ASSERT_CHECK]: New check.

From-SVN: r202192
2013-09-02 19:01:49 -04:00
Jan Hubicka
a64bbb3f89 * tree-profile.c (tree_profiling): Cleanup CFG when done.
From-SVN: r202191
2013-09-02 22:52:27 +00:00
Alan Modra
93ed07e21a 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
2013-09-03 08:10:40 +09:30
Tim Shen
e350969184 regex_automaton.h: Rearrange _NFA's layout.
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
2013-09-02 22:20:56 +00:00
Thomas Koenig
ce96d37253 PR fortran/PR56519
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-02 22:09:07 +00:00
Jan Hubicka
07d6cd643c ipa-inline-transform.c (inline_transform): Do not optimize_inline_calls when not optimizing.
* ipa-inline-transform.c (inline_transform): Do not
	optimize_inline_calls when not optimizing.

From-SVN: r202187
2013-09-02 21:45:48 +00:00
Jan Hubicka
8e4c9a109a lto-symtab.c (lto_symtab_merge_symbols): Add comments; merge duplicated 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-02 21:44:35 +00:00
Jan Hubicka
c91061e6b0 ipa-split.c (execute_split_functions): Split externally visible functions 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-02 20:17:10 +00:00
Martin Jambor
2fd0985c70 re PR ipa/58106 (ICE: in ipa_edge_duplication_hook, at ipa-prop.c:2839)
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 21:28:01 +02:00
James Greenhalgh
91bd4114a7 [AArch64] Rewrite the vdup_lane intrinsics in C
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-02 16:22:10 +00:00
Eric Botcazou
d617d2d806 re PR middle-end/56382 (FAIL: gcc.c-torture/compile/pr55921.c (internal 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-02 16:19:20 +00:00
Jan Hubicka
49322b127d lto.c (mentions_vars_p_field_decl, [...]): DECL_FIELD_OFFSET can contain an 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-02 14:45:06 +00:00
Diego Novillo
5e351e9607 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
2013-09-02 10:25:40 -04:00
Richard Biener
63fdb7bee7 re PR tree-optimization/57511 (Missing SCEV final value replacement)
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-02 13:24:30 +00:00
Richard Biener
78de2333ea tree-affine.c (add_elt_to_tree): Avoid converting all pointer arithmetic to 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-02 11:37:13 +00:00
Bin Cheng
85ff4ec649 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
2013-09-02 09:58:41 +00:00
Paolo Carlini
fde6f97e08 PR c++/21682, implement DR 565
/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-02 09:42:39 +00:00
Marek Polacek
576016fe96 Makefile.in (ubsan.o): Add $(TM_P_H) dependency.
2013-09-02  Marek Polacek  <polacek@redhat.com>

	* Makefile.in (ubsan.o): Add $(TM_P_H) dependency.

From-SVN: r202159
2013-09-02 07:46:13 +00:00
GCC Administrator
0023084e63 Daily bump.
From-SVN: r202158
2013-09-02 00:16:47 +00:00
Jan Hubicka
08f835dc74 Makefile.in: Add ipa-profile.o
* 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 17:47:21 +00:00
Jan Hubicka
0adad9c5b4 * g++.dg/ipa/devirt-15.C: New testcase.
From-SVN: r202153
2013-09-01 17:06:40 +00:00
Eric Botcazou
d775b5ea3b re PR ada/58239 (pretty-print.c:789: undefined reference to `operator 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-01 16:51:41 +00:00
John David Anglin
cec8583c75 pa.md: Allow "const 0" operand 1 in "scc" insns.
* config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns.

From-SVN: r202149
2013-09-01 16:35:06 +00:00
Eric Botcazou
bb09261075 * gnat.dg/specs/linker_alias.ads: Skip on Darwin.
From-SVN: r202148
2013-09-01 16:33:28 +00:00
Jan Hubicka
ca1eedf674 Correct previous commit to the final version of patch.
From-SVN: r202146
2013-09-01 15:27:14 +00:00
Jan Hubicka
bbc9396b62 common.opt (fdevirtualize-speculatively): New function.
* 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-01 15:14:24 +00:00
Iain Sandoe
0cea211ebd darwin.h (LINK_COMMAND_SPEC_A): Revise sanitizer specs to include 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-01 12:16:07 +00:00
Jan Hubicka
31f1f73b3e lto.c (tree_with_vars): Turn into vector.
* 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-01 12:00:35 +00:00
Jan Hubicka
63bf9a906c fork-instrumentation.c: New testcase.
* gcc.dg/fork-instrumentation.c: New testcase.
	* builtins.c (expand_builtin): Do not exit early for gcov
	instrumented functions.

From-SVN: r202142
2013-09-01 11:59:27 +00:00
GCC Administrator
f5c7238f2e Daily bump.
From-SVN: r202139
2013-09-01 00:16:38 +00:00
Marek Polacek
5c0abd6a25 ubsan.c: Include tm_p.h.
2013-08-31  Marek Polacek  <polacek@redhat.com>

	* ubsan.c: Include tm_p.h.

From-SVN: r202134
2013-08-31 15:31:34 +00:00
Jan Hubicka
8356c89c33 gimple-streamer-in.c (input_gimple_stmt): Silence parameter unused warning.
* gimple-streamer-in.c (input_gimple_stmt): Silence parameter unused
	warning.

From-SVN: r202133
2013-08-31 14:20:47 +00:00
Diego Novillo
cdc35a2e5b * testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.
From-SVN: r202132
2013-08-31 09:55:10 -04:00
Jan Hubicka
5e5812126c cgraph.c (cgraph_get_body): Update call of lto_input_function_body.
* 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-31 13:47:20 +00:00
Jan Hubicka
4843f03206 cgraph.c (cgraph_get_body): Update call of lto_input_function_body.
* 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 13:44:46 +00:00
Jan Hubicka
57292ce9bd * cgraph.c (cgraph_speculative_call_info): Fix ref lookup
From-SVN: r202129
2013-08-31 13:37:48 +00:00
Jan Hubicka
b9cbfeeb51 * basic-block.h (apply_scale): Make scale parmeter gcov_type.
From-SVN: r202128
2013-08-31 13:32:31 +00:00
Uros Bizjak
41dedebd87 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
2013-08-31 15:23:36 +02:00
Jan Hubicka
06d6505030 ipa-prop.c (ipa_set_jf_known_type): Check that we add only records.
* 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-31 12:26:32 +00:00
Teresa Johnson
600b5b1d5c 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
2013-08-31 01:43:33 +00:00
GCC Administrator
7b55c620f0 Daily bump.
From-SVN: r202124
2013-08-31 00:16:32 +00:00
François Dumont
32bb816a91 re PR libstdc++/58148 (Fails to insert iterator range into sequence container with -D_GLIBCXX_DEBUG when conversion is needed)
2013-08-30  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/58148
	* include/debug/functions.h (__foreign_iterator_aux4): Use
	sequence const_pointer as common type to compare pointers. Add a
	fallback overload in case pointers cannot be cast to sequence
	const_pointer.
	* testsuite/23_containers/vector/modifiers/insert/58148.cc: New.

From-SVN: r202121
2013-08-30 20:55:37 +00:00
François Dumont
8915a229ad re PR libstdc++/58191 (Can't use boost transform_iterator with _GLIBCXX_DEBUG)
2013-08-30  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/58191
	* include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
	__gnu_debug::__base calls on iterators passed to internal debug
	check.
	(__glibcxx_check_partitioned_lower_pred): Likewise.
	(__glibcxx_check_partitioned_upper): Likewise.
	(__glibcxx_check_partitioned_upper_pred): Likewise.
	(__glibcxx_check_sorted): Likewise.
	(__glibcxx_check_sorted_pred): Likewise.
	(__glibcxx_check_sorted_set): Likewise.
	(__glibcxx_check_sorted_set_pred): Likewise.
	* include/debug/functions.h (__check_partitioned_lower):
	Remove code to detect safe iterators.
	(__check_partitioned_upper): Likewise.
	(__check_sorted): Likewise.

From-SVN: r202119
2013-08-30 20:16:03 +00:00
Bernd Edlinger
3ecee8f77b MAINTAINERS (Write After Approval): Add myself.
2013-08-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>

       * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r202118
2013-08-30 19:34:43 +00:00