Matthias Klose [Wed, 4 Sep 2013 10:38:25 +0000 (10:38 +0000)]
- Fix whitespace in boehm-gc/ChangeLog
From-SVN: r202244
Paolo Carlini [Wed, 4 Sep 2013 08:57:26 +0000 (08:57 +0000)]
re PR c++/58305 (Deprecation warning for class not raised when not assigning to a variable)
/cp
2013-09-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58305
* typeck2.c (build_functional_cast): Maybe warn_deprecated_use.
/testsuite
2013-09-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58305
* g++.dg/warn/deprecated-8.C: New.
From-SVN: r202242
Ian Lance Taylor [Wed, 4 Sep 2013 04:32:07 +0000 (04:32 +0000)]
compiler: expand arguments with multiple results for built-in functions.
Fixed https://code.google.com/p/go/issues/detail?id=5796. Official fixedbug will be added with change to gc.
From-SVN: r202239
Mike Stump [Wed, 4 Sep 2013 02:46:13 +0000 (02:46 +0000)]
* Make-lang.in (cp/lambda.o): Add dependencies.
From-SVN: r202238
GCC Administrator [Wed, 4 Sep 2013 00:16:38 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r202237
Ian Lance Taylor [Tue, 3 Sep 2013 21:52:37 +0000 (21:52 +0000)]
compiler, runtime: Use runtime functions to pass closure value.
This changes the compiler and runtime to not pass a closure
value as the last argument, but to instead pass it via
__go_set_closure and retrieve it via __go_get_closure. This
eliminates the need for function descriptor wrapper functions.
It will make it possible to retrieve the closure value in a
reflect.MakeFunc function.
From-SVN: r202233
Jeff Law [Tue, 3 Sep 2013 20:43:46 +0000 (14:43 -0600)]
tree-ssa-threadedge.c (thread_across_edge): Record entire path when not 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
Xinliang David Li [Tue, 3 Sep 2013 19:11:10 +0000 (19:11 +0000)]
Remove a trivial assert (missed in previous checkin)
From-SVN: r202230
Xinliang David Li [Tue, 3 Sep 2013 18:19:04 +0000 (18:19 +0000)]
Delay base decl's alignment adjustment until transformation happens
From-SVN: r202229
Meador Inge [Tue, 3 Sep 2013 17:04:39 +0000 (17:04 +0000)]
revert: tree-vrp.c (check_array_ref): Bail out on zero-length arrays.
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
David Edelsohn [Tue, 3 Sep 2013 16:25:15 +0000 (16:25 +0000)]
* lib/target-supports.exp (check_weak_available): Return true for AIX.
From-SVN: r202227
David Edelsohn [Tue, 3 Sep 2013 16:09:21 +0000 (16:09 +0000)]
rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Emit lglobl for function descriptor.
* config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Emit lglobl for
function descriptor.
From-SVN: r202226
Jan Hubicka [Tue, 3 Sep 2013 15:43:10 +0000 (17:43 +0200)]
* g++.dg/ipa/devirt-15.C: Fix testcase.
From-SVN: r202225
Paolo Carlini [Tue, 3 Sep 2013 10:12:19 +0000 (10:12 +0000)]
re PR libstdc++/58302 (compilation error : std::negative_binomial_distribution::operator(e, p))
2013-09-03 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58302
* include/bits/random.tcc (negative_binomial_distribution<>::
operator()(_UniformRandomNumberGenerator&, const param_type&):
Fix typo in template argument.
* testsuite/26_numerics/random/negative_binomial_distribution/
operators/58302.cc: New.
From-SVN: r202208
Richard Biener [Tue, 3 Sep 2013 10:06:16 +0000 (10:06 +0000)]
configure.ac: Also allow ISL 0.12.
2013-09-03 Richard Biener <rguenther@suse.de>
* configure.ac: Also allow ISL 0.12.
* configure: Regenerated.
From-SVN: r202207
Richard Biener [Tue, 3 Sep 2013 10:05:29 +0000 (10:05 +0000)]
configure.ac: Also allow ISL 0.12.
2013-09-03 Richard Biener <rguenther@suse.de>
* configure.ac: Also allow ISL 0.12.
* configure: Regenerated.
From-SVN: r202206
Richard Biener [Tue, 3 Sep 2013 10:02:56 +0000 (10:02 +0000)]
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
Richard Biener [Tue, 3 Sep 2013 10:00:06 +0000 (10:00 +0000)]
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
Gabriel Dos Reis [Tue, 3 Sep 2013 09:52:19 +0000 (09:52 +0000)]
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
Richard Biener [Tue, 3 Sep 2013 09:48:27 +0000 (09:48 +0000)]
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
Richard Biener [Tue, 3 Sep 2013 07:53:05 +0000 (07:53 +0000)]
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
GCC Administrator [Tue, 3 Sep 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r202195
David Edelsohn [Mon, 2 Sep 2013 23:01:49 +0000 (23:01 +0000)]
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
Jan Hubicka [Mon, 2 Sep 2013 22:52:27 +0000 (00:52 +0200)]
* tree-profile.c (tree_profiling): Cleanup CFG when done.
From-SVN: r202191
Alan Modra [Mon, 2 Sep 2013 22:40:40 +0000 (08:10 +0930)]
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
Tim Shen [Mon, 2 Sep 2013 22:20:56 +0000 (22:20 +0000)]
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
Thomas Koenig [Mon, 2 Sep 2013 22:09:07 +0000 (22:09 +0000)]
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
Jan Hubicka [Mon, 2 Sep 2013 21:45:48 +0000 (23:45 +0200)]
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
Jan Hubicka [Mon, 2 Sep 2013 21:44:35 +0000 (23:44 +0200)]
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
Jan Hubicka [Mon, 2 Sep 2013 20:17:10 +0000 (22:17 +0200)]
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
Martin Jambor [Mon, 2 Sep 2013 19:28:01 +0000 (21:28 +0200)]
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
James Greenhalgh [Mon, 2 Sep 2013 16:22:10 +0000 (16:22 +0000)]
[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
Eric Botcazou [Mon, 2 Sep 2013 16:19:20 +0000 (16:19 +0000)]
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
Jan Hubicka [Mon, 2 Sep 2013 14:45:06 +0000 (16:45 +0200)]
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
Diego Novillo [Mon, 2 Sep 2013 14:25:40 +0000 (10:25 -0400)]
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
Richard Biener [Mon, 2 Sep 2013 13:24:30 +0000 (13:24 +0000)]
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
Richard Biener [Mon, 2 Sep 2013 11:37:13 +0000 (11:37 +0000)]
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
Bin Cheng [Mon, 2 Sep 2013 09:58:41 +0000 (09:58 +0000)]
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
Paolo Carlini [Mon, 2 Sep 2013 09:42:39 +0000 (09:42 +0000)]
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
Marek Polacek [Mon, 2 Sep 2013 07:46:13 +0000 (07:46 +0000)]
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
GCC Administrator [Mon, 2 Sep 2013 00:16:47 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r202158
Jan Hubicka [Sun, 1 Sep 2013 17:47:21 +0000 (19:47 +0200)]
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
Jan Hubicka [Sun, 1 Sep 2013 17:06:40 +0000 (19:06 +0200)]
* g++.dg/ipa/devirt-15.C: New testcase.
From-SVN: r202153
Eric Botcazou [Sun, 1 Sep 2013 16:51:41 +0000 (16:51 +0000)]
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
John David Anglin [Sun, 1 Sep 2013 16:35:06 +0000 (16:35 +0000)]
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
Eric Botcazou [Sun, 1 Sep 2013 16:33:28 +0000 (16:33 +0000)]
* gnat.dg/specs/linker_alias.ads: Skip on Darwin.
From-SVN: r202148
Jan Hubicka [Sun, 1 Sep 2013 15:27:14 +0000 (15:27 +0000)]
Correct previous commit to the final version of patch.
From-SVN: r202146
Jan Hubicka [Sun, 1 Sep 2013 15:14:24 +0000 (17:14 +0200)]
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
Iain Sandoe [Sun, 1 Sep 2013 12:16:07 +0000 (12:16 +0000)]
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
Jan Hubicka [Sun, 1 Sep 2013 12:00:35 +0000 (14:00 +0200)]
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
Jan Hubicka [Sun, 1 Sep 2013 11:59:27 +0000 (13:59 +0200)]
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
GCC Administrator [Sun, 1 Sep 2013 00:16:38 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r202139
Marek Polacek [Sat, 31 Aug 2013 15:31:34 +0000 (15:31 +0000)]
ubsan.c: Include tm_p.h.
2013-08-31 Marek Polacek <polacek@redhat.com>
* ubsan.c: Include tm_p.h.
From-SVN: r202134
Jan Hubicka [Sat, 31 Aug 2013 14:20:47 +0000 (16:20 +0200)]
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
Diego Novillo [Sat, 31 Aug 2013 13:55:10 +0000 (09:55 -0400)]
* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.
From-SVN: r202132
Jan Hubicka [Sat, 31 Aug 2013 13:47:20 +0000 (15:47 +0200)]
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
Jan Hubicka [Sat, 31 Aug 2013 13:44:46 +0000 (15:44 +0200)]
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
Jan Hubicka [Sat, 31 Aug 2013 13:37:48 +0000 (15:37 +0200)]
* cgraph.c (cgraph_speculative_call_info): Fix ref lookup
From-SVN: r202129
Jan Hubicka [Sat, 31 Aug 2013 13:32:31 +0000 (15:32 +0200)]
* basic-block.h (apply_scale): Make scale parmeter gcov_type.
From-SVN: r202128
Uros Bizjak [Sat, 31 Aug 2013 13:23:36 +0000 (15:23 +0200)]
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
Jan Hubicka [Sat, 31 Aug 2013 12:26:32 +0000 (14:26 +0200)]
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
Teresa Johnson [Sat, 31 Aug 2013 01:43:33 +0000 (01:43 +0000)]
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
GCC Administrator [Sat, 31 Aug 2013 00:16:32 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r202124
François Dumont [Fri, 30 Aug 2013 20:55:37 +0000 (20:55 +0000)]
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
François Dumont [Fri, 30 Aug 2013 20:16:03 +0000 (20:16 +0000)]
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
Bernd Edlinger [Fri, 30 Aug 2013 19:34:43 +0000 (19:34 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2013-08-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r202118
Uros Bizjak [Fri, 30 Aug 2013 17:43:42 +0000 (19:43 +0200)]
mangle33.C (dg-final): Use match count in scan RE.
* g++.dg/abi/mangle33.C (dg-final): Use match count in scan RE.
From-SVN: r202117
Torvald Riegel [Fri, 30 Aug 2013 17:13:05 +0000 (17:13 +0000)]
libitm: Fix wrong initialization order introduced with r202101.
* config/posix/rwlock.cc: Fix initialization order.
From-SVN: r202116
Meador Inge [Fri, 30 Aug 2013 16:36:46 +0000 (16:36 +0000)]
tree-vrp.c (check_array_ref): Bail out on zero-length arrays.
gcc/
2013-08-30 Meador Inge <meadori@codesourcery.com>
* tree-vrp.c (check_array_ref): Bail out on zero-length arrays.
gcc/testsuite/
2013-08-30 Meador Inge <meadori@codesourcery.com>
* gcc.dg/Warray-bounds-11.c: New testcase.
From-SVN: r202115
Marek Polacek [Fri, 30 Aug 2013 16:12:58 +0000 (16:12 +0000)]
Merge ubsan into trunk.
From-SVN: r202113
Mike Stump [Fri, 30 Aug 2013 15:45:18 +0000 (15:45 +0000)]
install.texi (Prerequisites): Note regression in Tcl 8.6 with RE patterns.
* doc/install.texi (Prerequisites): Note regression in Tcl 8.6
with RE patterns.
From-SVN: r202112
Jan Hubicka [Fri, 30 Aug 2013 15:41:26 +0000 (17:41 +0200)]
cgraph.c (cgraph_function_body_availability): Handle weakref correctly.
* cgraph.c (cgraph_function_body_availability): Handle weakref
correctly.
* passes.def: Remove pass_fixup_cfg.
* ipa-inline.c (ipa_inline): When not optimizing, do not inline;
track when we need to remove functions.
(gate_ipa_inline): Execute inlining always; add comment why.
(pass_data_ipa_inline): Remove TODO_remove_functions.
* ipa-inline-analysis.c (inline_generate_summary): When not optimizing
do not produce summaries.
* symtab.c (change_decl_assembler_name): Handle renaming of weakrefs.
(symtab_nonoverwritable_alias): Assert we are not called on weakref.
* varpool.c (cgraph_variable_initializer_availability): Fix weakrefs,
constant pool and vtable.
From-SVN: r202111
Paolo Carlini [Fri, 30 Aug 2013 15:39:01 +0000 (15:39 +0000)]
re PR c++/51424 ([C++11] G++ should diagnose self-delegating constructors)
/cp
2013-08-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51424
* cp-tree.h (LOOKUP_DELEGATING_CONS): Add.
* init.c (perform_target_ctor): Use it.
* call.c (build_special_member_call): Diagnose self-delegating
constructors.
/testsuite
2013-08-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51424
* g++.dg/cpp0x/dc8.C: New.
* g++.dg/template/meminit1.C: Adjust.
From-SVN: r202110
Gabriel Dos Reis [Fri, 30 Aug 2013 15:28:51 +0000 (15:28 +0000)]
c-pretty-print.h (c_pretty_printer::declaration): Now a virtual member function.
c-family/
* c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
member function.
(c_pretty_printer::declaration_specifiers): Likewise.
(c_pretty_printer::declarator): Likewise.
(c_pretty_printer::abstract_declarator): Likewise.
(c_pretty_printer::direct_abstract_declarator): Likewise.
(c_pretty_printer::direct_declarator): Likewise.
(c_pretty_printer::function_specifier): Likewise.
(pp_declaration): Adjust.
(pp_declaration_specifiers): Likewise.
(pp_abstract_declarator): Likewise.
(pp_direct_declarator): Likewise.
(pp_function_specifier): Likewise.
(pp_direct_abstract_declarator): Remove as unused.
(pp_c_declaration): Remove.
(pp_c_declaration_specifiers): Likewise.
(pp_c_declarator): Likewise.
(pp_c_direct_declarator): Likewise.
(pp_c_function_specifier): Likewise.
(pp_c_direct_abstract_declarator): Likewise.
* c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
from pp_c_abstract_declarator. Adjust.
(c_pretty_printer::direct_abstract_declarator): Rename from
pp_c_direct_abstract_declarator. Adjust.
(c_pretty_printer::function_specifier): Rename from
pp_c_function_specifier. Adjust.
(c_pretty_printer::declaration_specifiers): Rename from
pp_c_declaration_specifiers. Adjust.
(c_pretty_printer::direct_declarator): Rename from
pp_c_direct_declarator. Adjust.
(c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
(c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
(c_pretty_printer::c_pretty_printer): Do not assign to
declaration, declaration_specifiers, declarator,
direct_declarator, direct_abstract_declarator, function_specifier.
cp/
* cxx-pretty-print.h (cxx_pretty_printer::declaration): Declare as
overrider.
(cxx_pretty_printer::declaration_specifiers): Likewise.
(cxx_pretty_printer::function_specifier): Likewise.
(cxx_pretty_printer::declarator): Likewise.
(cxx_pretty_printer::direct_declarator): Likewise.
(cxx_pretty_printer::abstract_declarator): Likewise.
(cxx_pretty_printer::direct_abstract_declarator): Likewise.
(pp_cxx_declaration): Remove.
* cxx-pretty-print.c (cxx_pretty_printer::function_specifier):
Rename from pp_cxx_function_specifier. Adjust.
(cxx_pretty_printer::declaration_specifiers): Rename from
pp_cxx_decl_specifier_seq. Adjust.
(cxx_pretty_printer::direct_declarator): Rename from
pp_cxx_direct_declarator. Adjust.
(cxx_pretty_printer::declarator): Rename from pp_cxx_declarator.
Adjust.
(cxx_pretty_printer::abstract_declarator): Rename from
pp_cxx_abstract_declarator. Adjust.
(cxx_pretty_printer::direct_abstract_declarator): Rename from
pp_cxx_direct_abstract_declarator. Adjust.
(cxx_pretty_printer::declaration): Rename from
pp_cxx_declaration. Adjust.
(cxx_pretty_printer::cxx_pretty_printer): Do not assign to
declaration, declaration_specifiers, function_specifier,
declarator, direct_declarator, abstract_declarator,
direct_abstract_declarator.
* error.c (dump_decl): Adjust.
From-SVN: r202109
Tejas Belagod [Fri, 30 Aug 2013 15:04:58 +0000 (16:04 +0100)]
arm_neon.h (__AARCH64_UINT64_C, [...]): New arm_neon.h's internal macros to specify 64-bit constants.
2013-08-30 Tejas Belagod <tejas.belagod@arm.com>
gcc/
* config/aarch64/arm_neon.h (__AARCH64_UINT64_C, __AARCH64_INT64_C): New
arm_neon.h's internal macros to specify 64-bit constants. Avoid using
stdint.h's macros.
From-SVN: r202108
Joern Rennecke [Fri, 30 Aug 2013 14:20:29 +0000 (14:20 +0000)]
recog.c (verify_changes): Verify that changes[i].old is non-zero before applying REG_P.
* recog.c (verify_changes): Verify that changes[i].old is non-zero
before applying REG_P.
From-SVN: r202107
Teresa Johnson [Fri, 30 Aug 2013 13:17:22 +0000 (13:17 +0000)]
Move testsuite changes to correct ChangeLog, and delete a new
test that should not have been committed.
2013-08-30 Teresa Johnson <tejohnson@google.com>
* gcc.dg/inline-dump.c: Delete inadvertant commit.
From-SVN: r202106
Jakub Jelinek [Fri, 30 Aug 2013 12:41:17 +0000 (14:41 +0200)]
re PR tree-optimization/58277 (wrong code at -O3)
PR tree-optimization/58277
* tree-ssa-strlen.c (strlen_enter_block): If do_invalidate gave up
after seeing too many stmts with vdef in between dombb and current
bb, invalidate everything.
* gcc.c-torture/execute/pr58277-1.c: New test.
* gcc.c-torture/execute/pr58277-2.c: New test.
From-SVN: r202104
Richard Biener [Fri, 30 Aug 2013 11:52:15 +0000 (11:52 +0000)]
fold-const.c (fold_single_bit_test): Fix overflow test.
2013-08-30 Richard Biener <rguenther@suse.de>
* fold-const.c (fold_single_bit_test): Fix overflow test.
From-SVN: r202103
Eric Botcazou [Fri, 30 Aug 2013 11:13:20 +0000 (11:13 +0000)]
function.c (assign_parm_setup_reg): For a parameter passed by pointer and which can live in a register...
* function.c (assign_parm_setup_reg): For a parameter passed by pointer
and which can live in a register, always retrieve the value on entry.
* var-tracking.c (add_stores): Treat the copy on entry for a parameter
passed by invisible reference specially.
(emit_notes_in_bb) <MO_VAL_USE>: Emit notes before the instruction.
(vt_add_function_parameter): Correctly deal with a parameter passed by
invisible reference.
From-SVN: r202102
Torvald Riegel [Fri, 30 Aug 2013 10:33:41 +0000 (10:33 +0000)]
Add custom HTM fast path for RTM on x86_64.
* libitm_i.h (gtm_thread): Assign an asm name to serial_lock.
(htm_fastpath): Assign an asm name.
* libitm.h (_ITM_codeProperties): Add non-ABI flags used by custom
HTM fast paths.
(_ITM_actions): Likewise.
* config/x86/target.h (HTM_CUSTOM_FASTPATH): Enable custom fastpath on
x86_64.
* config/x86/sjlj.S (_ITM_beginTransaction): Add custom HTM fast path.
* config/posix/rwlock.h (gtm_rwlock): Update comments. Move summary
field to the start of the structure.
* config/linux/rwlock.h (gtm_rwlock): Update comments.
* beginend.cc (gtm_thread::begin_transaction): Add retry policy
handling for custom HTM fast paths.
From-SVN: r202101
Jan Hubicka [Fri, 30 Aug 2013 09:39:20 +0000 (11:39 +0200)]
Correct previous patch to not mark terminate as LEAF.
* class.c (build_vtbl_initializer): Drop LEAF
* decl.c (cxx_init_decl_processing): Likewise.
(push_throw_library_fn): Likewise.
* except.c (init_exception_processing): Likewise.
(do_begin_catch): Likewise.
(do_end_catch): Likewise.
(do_allocate_exception): Likewise.
From-SVN: r202100
Jan Hubicka [Fri, 30 Aug 2013 08:14:37 +0000 (10:14 +0200)]
class.c (build_vtbl_initializer): Make __cxa_deleted_virtual ECF_NORETURN | ECF_LEAF
* class.c (build_vtbl_initializer): Make __cxa_deleted_virtual
ECF_NORETURN | ECF_LEAF
* cp-tree.h (build_library_fn_ptr, build_cp_library_fn_ptr,
push_library_fn, push_void_library_fn): Update prototype.
* decl.c (build_library_fn_1): Remove.
(push_cp_library_fn, build_cp_library_fn): Update to take ECF flags.
(cxx_init_decl_processing): Update; global_delete_fndecl is ECF_NOTROW;
__cxa_pure_virtual is ECF_NORETURN | ECF_NORETURN | ECF_LEAF.
(build_library_fn_1): Add ecf_flags argument; rename to ...
(build_library_fn): ... this one.
(build_cp_library_fn): Take ecf_flags; do not copy NOTHROW flag.
(build_library_fn_ptr): Take ecf_flags.
(build_cp_library_fn_ptr): Likewise.
(push_library_fn): Likewise.
(push_cp_library_fn): Likewise.
(push_void_library_fn): Likewise.
(push_throw_library_fn): All throws are ECF_NORETURN.
(__cxa_atexit, __cxa_thread_atexit): Add ECF_LEAF | ECF_NOTHROW attributes.
(expand_static_init): __cxa_guard_acquire, __cxa_guard_release,
__cxa_guard_abort are ECF_NOTHROW | ECF_LEAF.
* except.c (init_exception_processing): terminate is
ECF_NOTHROW | ECF_NORETURN | ECF_LEAF.
(declare_nothrow_library_fn): Add ecf_flags parameter.
(__cxa_get_exception_ptr): Is ECF_NOTHROW | ECF_PURE | ECF_LEAF |
ECF_TM_PURE.
(do_begin_catch): cxa_begin_catch and _ITM_cxa_begin_catch
are ECF_NOTHROW | ECF_LEAF.
(do_end_catch): __cxa_end_catch and _ITM_cxa_end_catch is
ECF_LEAF.
(do_allocate_exception): _cxa_allocate_exception
and _ITM_cxa_allocate_exception are ECF_NOTHROW | ECF_MALLOC
| ECF_LEAF
(do_free_exception): __cxa_free_exception is
ECF_NOTHROW | ECF_LEAF.
* rtti.c (build_dynamic_cast_1): __dynamic_cast
is ECF_LEAF | ECF_PURE | ECF_NOTHROW.
From-SVN: r202099
Jan Hubicka [Fri, 30 Aug 2013 08:11:41 +0000 (10:11 +0200)]
* tree.c (set_call_expr_flags): Fix handling of TM_PURE.
From-SVN: r202098
Richard Biener [Fri, 30 Aug 2013 07:49:54 +0000 (07:49 +0000)]
re PR tree-optimization/58228 (wrong code (with vectorization?) at -O3 on x86_64-linux-gnu)
2013-08-30 Richard Biener <rguenther@suse.de>
PR tree-optimization/58228
* tree-vect-data-refs.c (vect_analyze_data_ref_access): Do not
allow invariant loads in nested loop vectorization.
* gcc.dg/torture/pr58228.c: New testcase.
From-SVN: r202097
Richard Biener [Fri, 30 Aug 2013 07:48:53 +0000 (07:48 +0000)]
re PR tree-optimization/58223 (wrong code at -O3 on x86_64-linux-gnu)
2013-08-30 Richard Biener <rguenther@suse.de>
PR tree-optimization/58223
* tree-loop-distribution.c (has_anti_dependence): Rename to ...
(has_anti_or_output_dependence): ... this and adjust to also
look for output dependences.
(mark_nodes_having_upstream_mem_writes): Adjust.
(rdg_flag_uses): Likewise.
* gcc.dg/torture/pr58223.c: New testcase.
* gcc.dg/tree-ssa/ldist-16.c: Flip expected behavior.
From-SVN: r202096
Richard Biener [Fri, 30 Aug 2013 07:47:54 +0000 (07:47 +0000)]
re PR tree-optimization/58010 (ICE in vect_create_epilog_for_reduction, at tree-vect-loop.c:4378)
2013-08-30 Richard Biener <rguenther@suse.de>
PR tree-optimization/58010
* tree-vect-loop.c (vect_create_epilog_for_reduction): Remove
assert that we have a loop-closed PHI.
* gcc.dg/pr58010.c: New testcase.
From-SVN: r202095
Jan Hubicka [Fri, 30 Aug 2013 07:33:56 +0000 (09:33 +0200)]
lto-symtab.c (lto_cgraph_replace_node): Free decl_in_state.
* lto-symtab.c (lto_cgraph_replace_node): Free decl_in_state.
* cgraph.c (cgraph_release_function_body): Free decl_in_state.
* lto-section-in.c (lto_free_function_in_decl_state): New function.
(lto_free_function_in_decl_state_for_node): New function.
From-SVN: r202094
Jan Hubicka [Fri, 30 Aug 2013 07:33:06 +0000 (09:33 +0200)]
lto-symtab.c (lto_cgraph_replace_node): Free decl_in_state.
* lto-symtab.c (lto_cgraph_replace_node): Free decl_in_state.
* cgraph.c (cgraph_release_function_body): Free decl_in_state.
* lto-section-in.c (lto_free_function_in_decl_state): New function.
(lto_free_function_in_decl_state_for_node): New function.
* lto.c (read_cgraph_and_symbols): Remove ggc_collect;
clear section node; add comment why we do not collect.
From-SVN: r202093
GCC Administrator [Fri, 30 Aug 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r202092
Xinliang David Li [Thu, 29 Aug 2013 21:06:08 +0000 (21:06 +0000)]
New vectorizer messages; message format change.
From-SVN: r202088
Adam Butcher [Thu, 29 Aug 2013 20:54:49 +0000 (21:54 +0100)]
Support dumping type bindings and 'mutable' qualifier in lambda diagnostics.
* error.c (dump_lambda_function): New function, dependent on ...
(dump_substitution): ... this new function, factored out of ...
(subst_to_string): ... here and ...
(dump_function_decl): ... here. Updated to early-out with call to
dump_lambda_function after determining template bindings.
From-SVN: r202087
Eric Botcazou [Thu, 29 Aug 2013 19:52:33 +0000 (19:52 +0000)]
cgraphclones.c (cgraph_create_virtual_clone): Compute the DECL_NAME of the clone from the DECL_NAME of the original function.
* cgraphclones.c (cgraph_create_virtual_clone): Compute the DECL_NAME
of the clone from the DECL_NAME of the original function.
From-SVN: r202086
Mike Stump [Thu, 29 Aug 2013 19:06:33 +0000 (19:06 +0000)]
* gcc_update (configure): Update to handle svn 1.8.1.
From-SVN: r202084
Tim Shen [Thu, 29 Aug 2013 18:33:07 +0000 (18:33 +0000)]
regex.h (basic_regex<>::assign): Don't lose _M_traits.
2013-08-29 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits.
(regex_iterator<>::regex_iterator): Return nullptr when regex_search
failed.
(regex_token_iterator<>::_M_end_of_seq): Should be defined true when
_M_result is(not isn't) nullptr.
* include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference
instead of by value.
* include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add
_M_traits to _DFSExecutor.
* include/bits/regex_executor.tcc (__get_executor<>): Pass traits to
_DFSExecutor too.
* testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
New.
* testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
wstring_02.cc: New.
From-SVN: r202082
Oleg Endo [Thu, 29 Aug 2013 18:29:33 +0000 (18:29 +0000)]
passes.c (register_pass): Add overload.
* passes.c (register_pass): Add overload.
* tree-pass.h (register_pass): Forward declare it. Add comment.
From-SVN: r202081
Jan Hubicka [Thu, 29 Aug 2013 16:24:13 +0000 (16:24 +0000)]
Revert accidental checkin.
From-SVN: r202080
Jan Hubicka [Thu, 29 Aug 2013 16:23:40 +0000 (18:23 +0200)]
lto.c (compare_tree_sccs_1): Compare DECL_FINAL_P...
* lto.c (compare_tree_sccs_1): Compare DECL_FINAL_P,
DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P and
TYPE_FINAL_P.
* lto-streamer-out.c (hash_tree): Stream DECL_FINAL_P.
DECL_CXX_CONSTRUCTOR_P. DECL_CXX_DESTRUCTOR_P.
TYPE_FINAL_P.
* lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields):
DECL_FINAL_P. DECL_CXX_CONSTRUCTOR_P and DECL_CXX_DESTRUCTOR_P.
(unpack_ts_type_common_value_fields): Stream TYPE_FINAL_P.
* tree-streamer-out.c (pack_ts_decl_with_vis_value_fields):
Add DECL_FINAL_P, DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P
(pack_ts_type_common_value_fields): Add TYPE_FINAL_P.
From-SVN: r202079
Teresa Johnson [Thu, 29 Aug 2013 13:51:04 +0000 (13:51 +0000)]
dumpfile.c (dump_loc): Output column number.
2013-08-29 Teresa Johnson <tejohnson@google.com>
* dumpfile.c (dump_loc): Output column number.
* dumpfile.h (OPTGROUP_OTHER): Add and enable under OPTGROUP_ALL.
* doc/invoke.texi: Document optall -fopt-info flag.
* profile.c (read_profile_edge_counts): Use new dump framework.
(compute_branch_probabilities): Ditto.
* passes.c (pass_manager::register_one_dump_file): Use OPTGROUP_OTHER
when pass not in any opt group.
* pass_manager.h (pass_manager::get_pass_profile): New method.
* value-prof.c (check_counter): Use new dump framework.
(check_ic_target): Ditto.
* coverage.c (get_coverage_counts): Ditto.
(coverage_init): Setup new dump framework.
* testsuite/gcc.dg/pr40209.c: Use -fopt-info.
* testsuite/gcc.dg/pr26570.c: Ditto.
* testsuite/gcc.dg/pr32773.c: Ditto.
* testsuite/g++.dg/tree-ssa/dom-invalid.C: Ditto.
* testsuite/gcc.dg/inline-dump.c: New test.
From-SVN: r202077
Richard Biener [Thu, 29 Aug 2013 13:04:19 +0000 (13:04 +0000)]
re PR tree-optimization/58246 (wrong code at -O1 and above)
2013-08-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/58246
* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Properly
handle the dominance check inside a basic-block.
* gcc.dg/torture/pr58246.c: New testcase.
From-SVN: r202071