gcc.git
10 years agolto.c (tree_with_vars): Turn into vector.
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

10 years agofork-instrumentation.c: New testcase.
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

11 years agoDaily bump.
GCC Administrator [Sun, 1 Sep 2013 00:16:38 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202139

11 years agoubsan.c: Include tm_p.h.
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

11 years agogimple-streamer-in.c (input_gimple_stmt): Silence parameter unused warning.
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

11 years ago* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.
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

11 years agocgraph.c (cgraph_get_body): Update call of lto_input_function_body.
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

11 years agocgraph.c (cgraph_get_body): Update call of lto_input_function_body.
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

11 years ago* cgraph.c (cgraph_speculative_call_info): Fix ref lookup
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

11 years ago* basic-block.h (apply_scale): Make scale parmeter gcov_type.
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

11 years agoalpha.c (alpha_emit_conditional_move): Update "cmp" RTX before signed_comparison_oper...
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

11 years agoipa-prop.c (ipa_set_jf_known_type): Check that we add only records.
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

11 years agoThis patch sanitizes the partitioning to address issues such as edge weight insanitie...
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

11 years agoDaily bump.
GCC Administrator [Sat, 31 Aug 2013 00:16:32 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202124

11 years agore PR libstdc++/58148 (Fails to insert iterator range into sequence container with...
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

11 years agore PR libstdc++/58191 (Can't use boost transform_iterator with _GLIBCXX_DEBUG)
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

11 years agoMAINTAINERS (Write After Approval): Add myself.
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

11 years agomangle33.C (dg-final): Use match count in scan RE.
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

11 years agolibitm: Fix wrong initialization order introduced with r202101.
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

11 years agotree-vrp.c (check_array_ref): Bail out on zero-length arrays.
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

11 years agoMerge ubsan into trunk.
Marek Polacek [Fri, 30 Aug 2013 16:12:58 +0000 (16:12 +0000)]
Merge ubsan into trunk.

From-SVN: r202113

11 years agoinstall.texi (Prerequisites): Note regression in Tcl 8.6 with RE patterns.
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

11 years agocgraph.c (cgraph_function_body_availability): Handle weakref correctly.
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

11 years agore PR c++/51424 ([C++11] G++ should diagnose self-delegating constructors)
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

11 years agoc-pretty-print.h (c_pretty_printer::declaration): Now a virtual member function.
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

11 years agoarm_neon.h (__AARCH64_UINT64_C, [...]): New arm_neon.h's internal macros to specify...
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

11 years agorecog.c (verify_changes): Verify that changes[i].old is non-zero before applying...
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

11 years agoMove testsuite changes to correct ChangeLog, and delete a new
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

11 years agore PR tree-optimization/58277 (wrong code at -O3)
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

11 years agofold-const.c (fold_single_bit_test): Fix overflow test.
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

11 years agofunction.c (assign_parm_setup_reg): For a parameter passed by pointer and which can...
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

11 years agoAdd custom HTM fast path for RTM on x86_64.
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

11 years agoCorrect previous patch to not mark terminate as LEAF.
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

11 years agoclass.c (build_vtbl_initializer): Make __cxa_deleted_virtual ECF_NORETURN | ECF_LEAF
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

11 years ago* tree.c (set_call_expr_flags): Fix handling of TM_PURE.
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

11 years agore PR tree-optimization/58228 (wrong code (with vectorization?) at -O3 on x86_64...
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

11 years agore PR tree-optimization/58223 (wrong code at -O3 on x86_64-linux-gnu)
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

11 years agore PR tree-optimization/58010 (ICE in vect_create_epilog_for_reduction, at tree-vect...
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

11 years agolto-symtab.c (lto_cgraph_replace_node): Free decl_in_state.
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

11 years agolto-symtab.c (lto_cgraph_replace_node): Free decl_in_state.
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

11 years agoDaily bump.
GCC Administrator [Fri, 30 Aug 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202092

11 years agoNew vectorizer messages; message format change.
Xinliang David Li [Thu, 29 Aug 2013 21:06:08 +0000 (21:06 +0000)]
New vectorizer messages; message format change.

From-SVN: r202088

11 years agoSupport dumping type bindings and 'mutable' qualifier in lambda diagnostics.
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

11 years agocgraphclones.c (cgraph_create_virtual_clone): Compute the DECL_NAME of the clone...
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

11 years ago* gcc_update (configure): Update to handle svn 1.8.1.
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

11 years agoregex.h (basic_regex<>::assign): Don't lose _M_traits.
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

11 years agopasses.c (register_pass): Add overload.
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

11 years agoRevert accidental checkin.
Jan Hubicka [Thu, 29 Aug 2013 16:24:13 +0000 (16:24 +0000)]
Revert accidental checkin.

From-SVN: r202080

11 years agolto.c (compare_tree_sccs_1): Compare DECL_FINAL_P...
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

11 years agodumpfile.c (dump_loc): Output column number.
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

11 years agore PR tree-optimization/58246 (wrong code at -O1 and above)
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

11 years agore PR fortran/52243 (Avoid reallocation for: array1 = array1 / scalar for performance)
Thomas Koenig [Thu, 29 Aug 2013 11:44:41 +0000 (11:44 +0000)]
re PR fortran/52243 (Avoid reallocation for:  array1 = array1 / scalar  for performance)

2013-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/52243
* trans-expr.c (is_runtime_conformable):  New function.
* gfc_trans_assignment_1:  Use it.

2013-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/52243
* gfortran.dg/realloc_on_assign_14.f90:  Remove warning made
obsolete by patch.
* gfortran.dg/realloc_on_assign_19.f90:  New test.

From-SVN: r202070

11 years agore PR middle-end/57287 (Bogus uninitialized warning with abnormal control flow)
Richard Biener [Thu, 29 Aug 2013 11:20:16 +0000 (11:20 +0000)]
re PR middle-end/57287 (Bogus uninitialized warning with abnormal control flow)

2013-08-29  Richard Biener  <rguenther@suse.de>

PR middle-end/57287
* tree-ssa-copy.c (may_propagate_copy): Allow propagating
of default defs that appear in abnormal PHI nodes.

* gcc.dg/pr57287-2.c: New testcase.

From-SVN: r202069

11 years agore PR tree-optimization/57685 (GCC stuck in an infinite loop)
Richard Biener [Thu, 29 Aug 2013 07:45:59 +0000 (07:45 +0000)]
re PR tree-optimization/57685 (GCC stuck in an infinite loop)

2013-08-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/57685
* tree-vrp.c (register_edge_assert_for_1): Recurse only for
single-use operands to avoid exponential complexity.

* gcc.dg/torture/pr57685.c: New testcase.

From-SVN: r202068

11 years agogo-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if the struct is not hidden.
Ian Lance Taylor [Thu, 29 Aug 2013 00:49:36 +0000 (00:49 +0000)]
go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if the struct is not hidden.

* go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
the struct is not hidden.
(Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.

From-SVN: r202065

11 years agoDaily bump.
GCC Administrator [Thu, 29 Aug 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202064

11 years agore PR c++/58255 ([C++11] explicit delegating constructor with no arguments wrongly...
Paolo Carlini [Wed, 28 Aug 2013 22:40:34 +0000 (22:40 +0000)]
re PR c++/58255 ([C++11] explicit delegating constructor with no arguments wrongly rejected)

/cp
2013-08-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58255
* init.c (build_aggr_init): When init == void_type_node do not
set LOOKUP_ONLYCONVERTING.

/testsuite
2013-08-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58255
* g++.dg/cpp0x/dc7.C: New.

From-SVN: r202061

11 years agoReplace fixed size array that was holding vtable pointers with a vector, allowing...
Caroline Tice [Wed, 28 Aug 2013 21:06:43 +0000 (14:06 -0700)]
Replace fixed size array that was holding vtable pointers with a vector, allowing dynamic resizing.

Replace fixed size array that was holding vtable pointers
with a vector, allowing dynamic resizing.  ALso fix issues with
warning diagnostics.

From-SVN: r202060

11 years agoipa-inline.c (edge_badness): Fix integer underflow.
Dehao Chen [Wed, 28 Aug 2013 18:11:33 +0000 (18:11 +0000)]
ipa-inline.c (edge_badness): Fix integer underflow.

2013-08-28  Dehao Chen  <dehao@google.com>

* ipa-inline.c (edge_badness): Fix integer underflow.

From-SVN: r202059

11 years agogtm-builtins.def (_ITM_free): Declare leaf.
Uros Bizjak [Wed, 28 Aug 2013 17:42:19 +0000 (19:42 +0200)]
gtm-builtins.def (_ITM_free): Declare leaf.

* gtm-builtins.def (_ITM_free): Declare leaf.

From-SVN: r202058

11 years agoApparently I forgot to commit the ChangeLog when I committed the change to libvtv...
Caroline Tice [Wed, 28 Aug 2013 16:36:22 +0000 (09:36 -0700)]
Apparently I forgot to commit the ChangeLog when I committed the change to libvtv previously.

Apparently I forgot to commit the ChangeLog when I committed
the change to libvtv previously.  Fixing that now.

From-SVN: r202056

11 years agore PR target/58067 (ICE in GFortran recog.c:2158)
Jakub Jelinek [Wed, 28 Aug 2013 16:31:41 +0000 (18:31 +0200)]
re PR target/58067 (ICE in GFortran recog.c:2158)

PR target/58067
* config/i386/i386.md (*tls_global_dynamic_64_largepic): New insn.
(*tls_local_dynamic_base_64_largepic): Likewise.
(tls_global_dynamic_64_<mode>, tls_local_dynamic_base_64_<mode>):
Remove predicate from call operand.
* config/i386/i386.c (ix86_tls_get_addr): For -mcmodel=large -fpic
return sum of pic_offset_table_rtx and UNSPEC_PLTOFF of the symbol.

From-SVN: r202055

11 years agotree-ssa-threadedge.c (thread_around_empty_block): Remove checks for the number of...
Jeff Law [Wed, 28 Aug 2013 15:07:45 +0000 (09:07 -0600)]
tree-ssa-threadedge.c (thread_around_empty_block): Remove checks for the number of predecessors and successors allowed.

        * tree-ssa-threadedge.c (thread_around_empty_block): Remove
        checks for the number of predecessors and successors allowed.
        * tree-ssa-threadupdate.c (mark_threaded_blocks): Ignore requests
        which require copying a joiner block if there is a request which
        is a subpath that requires no joiner block copying.

From-SVN: r202054

11 years agolto-streamer-out.c (DFS_write_tree_body): Drop BINFO_INHERITANCE_CHAIN, BINFO_SUBVTT_...
Jan Hubicka [Wed, 28 Aug 2013 15:04:15 +0000 (15:04 +0000)]
lto-streamer-out.c (DFS_write_tree_body): Drop BINFO_INHERITANCE_CHAIN, BINFO_SUBVTT_INDEX and BINFO_VPTR_INDEX.

* lto-streamer-out.c (DFS_write_tree_body): Drop
BINFO_INHERITANCE_CHAIN, BINFO_SUBVTT_INDEX and BINFO_VPTR_INDEX.
(hash_tree): Do not hash DECL_DEFER_OUTPUT, BINFO_INHERITANCE_CHAIN,
BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, DECL_IN_TEXT_SECTION.
* tree-streamer-in.c (unpack_ts_decl_common_value_fields):
Do not read DECL_ERROR_ISSUED.
(unpack_ts_decl_with_vis_value_fields): Do not read
DECL_DEFER_OUTPUT.
(lto_input_ts_binfo_tree_pointers): Do not read BINFO_INHERITANCE_CHAIN,
        BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX
* tree-streamer-out.c (pack_ts_decl_common_value_fields): Do not
write DECL_ERROR_ISSUED..
(pack_ts_decl_with_vis_value_fields): Do not write
DECL_DEFER_OUTPUT.
(write_ts_binfo_tree_pointers): Do not read BINFO_INHERITANCE_CHAIN,
        BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX
* print-tree.c (print_node): Do not print DECL_ERROR_ISSUED.
* tree.h (tree_decl_common): Update comment.
(DECL_ERROR_ISSUED): Remove.

From-SVN: r202053

11 years agolto.c (compare_tree_sccs_1): Drop DECL_ERROR_ISSUED, DECL_DEFER_OUTPUT and DECL_IN_TE...
Jan Hubicka [Wed, 28 Aug 2013 15:03:43 +0000 (17:03 +0200)]
lto.c (compare_tree_sccs_1): Drop DECL_ERROR_ISSUED, DECL_DEFER_OUTPUT and DECL_IN_TEXT_SECTION.

* lto.c (compare_tree_sccs_1): Drop DECL_ERROR_ISSUED,
DECL_DEFER_OUTPUT and DECL_IN_TEXT_SECTION.
(unify_scc): Do checking assert.

* lto-streamer-out.c (DFS_write_tree_body): Drop
BINFO_INHERITANCE_CHAIN, BINFO_SUBVTT_INDEX and BINFO_VPTR_INDEX.
(hash_tree): Do not hash DECL_DEFER_OUTPUT, BINFO_INHERITANCE_CHAIN,
BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, DECL_IN_TEXT_SECTION.
* tree-streamer-in.c (unpack_ts_decl_common_value_fields):
Do not read DECL_ERROR_ISSUED.
(unpack_ts_decl_with_vis_value_fields): Do not read
DECL_DEFER_OUTPUT.
(lto_input_ts_binfo_tree_pointers): Do not read BINFO_INHERITANCE_CHAIN,
        BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX
* tree-streamer-out.c (pack_ts_decl_common_value_fields): Do not
write DECL_ERROR_ISSUED..
(pack_ts_decl_with_vis_value_fields): Do not write
DECL_DEFER_OUTPUT.
(write_ts_binfo_tree_pointers): Do not read BINFO_INHERITANCE_CHAIN,
        BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX
* print-tree.c (print_node): Do not print DECL_ERROR_ISSUED.
* tree.h (tree_decl_common): Update comment.
(DECL_ERROR_ISSUED): Remove.

From-SVN: r202052

11 years agoPR spam/58261
Jakub Jelinek [Wed, 28 Aug 2013 14:41:27 +0000 (16:41 +0200)]
PR spam/58261
PR spam/58262
Fix up ChangeLog entry whitespace.

From-SVN: r202051

11 years agore PR middle-end/58257 (Bogus warning with OpenMP collapsed loops)
Jakub Jelinek [Wed, 28 Aug 2013 10:08:59 +0000 (12:08 +0200)]
re PR middle-end/58257 (Bogus warning with OpenMP collapsed loops)

PR middle-end/58257
* omp-low.c (copy_var_decl): Copy over TREE_NO_WARNING flag.

* c-c++-common/gomp/pr58257.c: New test.

From-SVN: r202049

11 years agoChangeLog: Fix whitespace.
Uros Bizjak [Wed, 28 Aug 2013 09:34:15 +0000 (11:34 +0200)]
ChangeLog: Fix whitespace.

* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

From-SVN: r202048

11 years agore PR tree-optimization/56933 (Vectorizer missing read-write dependency for interleav...
Richard Biener [Wed, 28 Aug 2013 07:51:10 +0000 (07:51 +0000)]
re PR tree-optimization/56933 (Vectorizer missing read-write dependency for interleaved accesses)

2013-08-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56933
* gcc.dg/vect/pr56933.c: Properly guard runtime with check_vect ().

From-SVN: r202044

11 years ago* builtins.def (free): Declare leaf.
Jan Hubicka [Wed, 28 Aug 2013 07:10:47 +0000 (09:10 +0200)]
* builtins.def (free): Declare leaf.

From-SVN: r202043

11 years agolto-partition.c (lto_balanced_map): Always base order on source file order.
Jan Hubicka [Wed, 28 Aug 2013 06:51:27 +0000 (08:51 +0200)]
lto-partition.c (lto_balanced_map): Always base order on source file order.

* lto-partition.c (lto_balanced_map): Always base order on
source file order.

Co-Authored-By: Martin Liska <marxin.liska@gmail.com>
From-SVN: r202041

11 years agoInitial version of gdb hooks
David Malcolm [Wed, 28 Aug 2013 03:01:20 +0000 (03:01 +0000)]
Initial version of gdb hooks

     * MAINTAINERS (gdbhooks.py): Add myself as maintainer

    gcc/
     * gdbhooks.py: New.
     * configure.ac (gdbinit.in): Add import of gcc/gdbhooks.py.
     * configure: Regenerate.

From-SVN: r202040

11 years agoDaily bump.
GCC Administrator [Wed, 28 Aug 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202039

11 years agoipa-prop.h (ipa_pass_through_data): New field type_preserved.
Martin Jambor [Tue, 27 Aug 2013 21:41:15 +0000 (23:41 +0200)]
ipa-prop.h (ipa_pass_through_data): New field type_preserved.

2013-08-27  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.h (ipa_pass_through_data): New field type_preserved.
(ipa_ancestor_jf_data): Likewise.
(ipa_get_jf_pass_through_agg_preserved): Fix comment typo.
(ipa_get_jf_pass_through_type_preserved): New function.
(ipa_get_jf_ancestor_agg_preserved): Fix comment typo.
(ipa_get_jf_ancestor_type_preserved): New function.
* ipa-cp.c (ipa_get_jf_pass_through_result): Honor type_preserved
flag.
(ipa_get_jf_ancestor_result): Likewise.
(propagate_vals_accross_pass_through): Use
ipa_get_jf_pass_through_result to do all the value mappings.
* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Dump the
type_preserved flag.
(ipa_set_jf_cst_copy): New function.
(ipa_set_jf_simple_pass_through): Set the type_preserved flag.
(ipa_set_jf_arith_pass_through): Likewise.
(ipa_set_ancestor_jf): Likewise.
(compute_complex_assign_jump_func): Set type_preserved instead of
punting.
(ipa_compute_jump_functions_for_edge): Likewise.
(combine_known_type_and_ancestor_jfs): Honor type_preserved.
(update_jump_functions_after_inlining): Update type_preserved.
Explicitely create jump functions when combining one with
pass_through.
(ipa_write_jump_function): Stream the type_preserved flags.
(ipa_read_jump_function): Likewise.

From-SVN: r202036

11 years agoMakefile.in (omp-low.o): Depend on $(TARGET_H).
Jakub Jelinek [Tue, 27 Aug 2013 18:38:00 +0000 (20:38 +0200)]
Makefile.in (omp-low.o): Depend on $(TARGET_H).

* Makefile.in (omp-low.o): Depend on $(TARGET_H).
* cfgloop.h (struct loop): Add safelen, force_vect, simduid.
* function.h (struct function): Add has_force_vect_loops and
has_simduid_loops.
* gimple-pretty-print.c (dump_gimple_omp_for): Handle
GF_OMP_FOR_KIND*.
* gimple.c (gimple_build_omp_critical): Add KIND argument and
handle it.
* gimple.def: Update CLAUSES comments.
* gimple.h (enum gf_mask): Add GF_OMP_FOR_KIND_{FOR,SIMD}.
(gimple_build_omp_for): Add argument to prototype.
(gimple_omp_for_kind): New.
(gimple_omp_for_set_kind): New.
* gimplify.c (enum gimplify_omp_var_data): Add GOVD_LINEAR to
GOVD_DATA_SHARE_CLASS.
(enum omp_region_type): Add ORT_SIMD.
(gimple_add_tmp_var): Handle ORT_SIMD.
(gimplify_var_or_parm_decl): Same.
(is_gimple_stmt): Same.
(omp_firstprivatize_variable): Same.
(omp_add_variable): Only use splay_tree_insert if lookup failed.
(omp_notice_variable): Handle ORT_SIMD.
(omp_is_private): Add SIMD argument and handle it as well as
ORT_SIMD.
(omp_check_private): Handle ORT_SIMD.
(gimplify_scan_omp_clauses): Handle OMP_CLAUSE_LINEAR and
OMP_CLAUSE_SAFELEN.
(gimplify_adjust_omp_clauses_1): Handle GOVD_LINEAR.
Handle OMP_CLAUSE_LASTPRIVATE.
(gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_LINEAR and
OMP_CLAUSE_SAFELEN.
(gimplify_omp_for): Handle OMP_SIMD and OMP_CLAUSE_LINEAR.
(gimplify_expr): Handle OMP_SIMD.
* internal-fn.c (expand_GOMP_SIMD_LANE): New.
(expand_GOMP_SIMD_VF): New.
(expand_GOMP_SIMD_LAST_LANE): New.
* internal-fn.def (GOMP_SIMD_LANE): New.
(GOMP_SIMD_VF): New.
(GOMP_SIMD_LAST_LANE): New.
* omp-low.c: Include target.h.
(extract_omp_for_data): Handle OMP_SIMD, OMP_CLAUSE_LINEAR,
OMP_CLAUSE_SAFELEN.
(check_omp_nesting_restrictions): Same.
(omp_max_vf): New.
(lower_rec_simd_input_clauses): New.
(lower_rec_input_clauses): Handle OMP_SIMD, GF_OMP_FOR_KIND_SIMD,
OMP_CLAUSE_LINEAR.
(lower_lastprivate_clauses): Handle OMP_CLAUSE_LINEAR,
GF_OMP_FOR_KIND_SIMD, OMP_SIMD.
(expand_omp_build_assign): New.
(expand_omp_for_init_counts): New.
(expand_omp_for_init_vars): New.
(extract_omp_for_update_vars): New.
(expand_omp_for_generic): Use expand_omp_for_{init,update}_vars
and rewrite accordingly.
(expand_omp_simd): New.
(expand_omp_for): Use expand_omp_simd.
(lower_omp_for_lastprivate): Unshare vinit when appropriate.
(lower_omp_for): Do not lower the body.
* tree-data-ref (get_references_in_stmt): Allow IFN_GOMP_SIMD_LANE
in their own loops.
* tree-flow.h (find_omp_clause): Remove prototype.
* tree-if-conv.c (main_tree_if_conversion): Run if doing if
conversion, forcing vectorization of the loop, or if
flag_tree_vectorize.
(gate_tree_if_conversion): Similarly.
* tree-inline.c (remap_gimple_stmt): Pass for kind argument to
gimple_build_omp_for.
(copy_cfg_body): set has_force_vect_loops and has_simduid_loops.
* tree-parloops (create_parallel_loop): Pass kind argument to
gimple_build_omp_for.
* tree-pretty-print.c (dump_omp_clause): Add cases for
OMP_CLAUSE_UNIFORM, OMP_CLAUSE_LINEAR, OMP_CLAUSE_SAFELEN,
OMP_CLAUSE__SIMDUID_.
(dump_generic_node): Handle OMP_SIMD.
* tree-ssa-ccp.c (likely_value): Handle IFN_GOMP_SIMD*.
* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Do not
unroll OMP_SIMD loops here.
* tree-ssa-loop.c (gate_tree_vectorize): Run if
has_force_vect_loops.
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Handle
loop->safelen
(vect_analyze_data_refs): Handle simd loops.
* tree-vect-loop.c (vectorizable_live_operation): Handle
IFN_GOMP_SIMD*.
* tree-vect-stmts.c (vectorizable_call): Handle
IFN_GOMP_SIMD_LANE.
(vectorizable_store): Handle STMT_VINFO_SIMD_LANE_ACCESS_P.
(vectorizable_load): Same.
* tree-vectorizer.c: Include hash-table.h and
tree-ssa-propagate.h.
(struct simduid_to_vf): New.
(simduid_to_vf::hash): New.
(simduid_to-vf::equal): New.
(struct simd_array_to_simduid): New.
(simd_array_to_simduid::hash): New.
(simd_array_to_simduid::equal): New.
(adjust_simduid_builtins): New.
(struct note_simd_array_uses_struct): New.
(note_simd_array_uses_cb): New.
(note_simd_array_uses): New.
(vectorize_loops): Handle simd hints and adjust simd builtins
accordingly.
* tree-vectorizer.h (struct _stmt_vec_info): Add
simd_lane_access_p field.
(STMT_VINFO_SIMD_LANE_ACCESS_P): New macro.
* tree.c (omp_clause_num_ops): Add entries for OMP_CLAUSE_LINEAR,
OMP_CLAUSE_SAFELEN, OMP_CLAUSE__SIMDUID_, OMP_CLAUSE_UNIFORM.
(omp_clause_code_name): Same.
(walk_tree_1): Handle OMP_CLAUSE_UNIFORM, OMP_CLAUSE_SAFELEN,
OMP_CLAUSE__SIMDUID_, OMP_CLAUSE_LINEAR.
* tree.def (OMP_SIMD): New entry.
* tree.h (enum omp_clause_code): Add entries for
OMP_CLAUSE_LINEAR, OMP_CLAUSE_UNIFORM, OMP_CLAUSE_SAFELEN,
OMP_CLAUSE__SIMDUID_.
(OMP_CLAUSE_DECL): Adjust range for new clauses.
(OMP_CLAUSE_LINEAR_NO_COPYIN): New.
(OMP_CLAUSE_LINEAR_NO_COPYOUT): New.
(OMP_CLAUSE_LINEAR_STEP): New.
(OMP_CLAUSE_SAFELEN_EXPR): New.
(OMP_CLAUSE__SIMDUID__DECL): New.
(find_omp_clause): New prototype.
cp/
* cp-tree.h (CP_OMP_CLAUSE_INFO): Adjust range for new clauses.

Co-Authored-By: Aldy Hernandez <aldyh@redhat.com>
From-SVN: r202029

11 years agoUpdate Haswell processor detection
H.J. Lu [Tue, 27 Aug 2013 18:11:23 +0000 (18:11 +0000)]
Update Haswell processor detection

* config/i386/driver-i386.c (host_detect_local_cpu): Update
Haswell processor detection.

From-SVN: r202028

11 years agore PR target/57927 (-march=core-avx2 different than -march=native on INTEL Haswell...
Christian Widmer [Tue, 27 Aug 2013 17:24:37 +0000 (17:24 +0000)]
re PR target/57927 (-march=core-avx2  different than -march=native on INTEL Haswell (i7-4700K))

PR target/57927
* config/i386/driver-i386.c (host_detect_local_cpu): Add detection
of Ivy Bridge and Haswell processors.  Assume core-avx2 for unknown
AVX2 capable processors.

From-SVN: r202026

11 years agoarm_neon.h: Replace all inline asm implementations of vget_low_* with implementations...
Tejas Belagod [Tue, 27 Aug 2013 15:22:10 +0000 (16:22 +0100)]
arm_neon.h: Replace all inline asm implementations of vget_low_* with implementations in...

2013-08-27  Tejas Belagod  <tejas.belagod@arm.com>

        * config/aarch64/arm_neon.h: Replace all inline asm implementations
        of vget_low_* with implementations in terms of other intrinsics.

From-SVN: r202023

11 years agoRemove experimental LRA test
Nick Clifton [Tue, 27 Aug 2013 15:22:07 +0000 (15:22 +0000)]
Remove experimental LRA test

From-SVN: r202022

11 years agore PR middle-end/57219 (__builtin_isinf_sign source comments more restrictive than...
Marc Glisse [Tue, 27 Aug 2013 12:39:21 +0000 (14:39 +0200)]
re PR middle-end/57219 (__builtin_isinf_sign source comments more restrictive than documentation)

2013-08-27  Marc Glisse  <marc.glisse@inria.fr>

PR middle-end/57219
* doc/extend.texi (__builtin_isinf_sign): Restrict the return
values to -1, 0 and 1.

From-SVN: r202021

11 years agoaarch64.md (unspec): Add UNSPEC_SISD_SSHL...
Vidya Praveen [Tue, 27 Aug 2013 10:50:26 +0000 (11:50 +0100)]
aarch64.md (unspec): Add UNSPEC_SISD_SSHL...

gcc/

2013-08-27  Vidya Praveen  <vidyapraveen@arm.com>

* config/aarch64/aarch64.md (unspec): Add UNSPEC_SISD_SSHL,
UNSPEC_SISD_USHL, UNSPEC_USHL_2S, UNSPEC_SSHL_2S, UNSPEC_SISD_NEG.
(<optab><mode>3_insn): Remove.
(aarch64_ashl_sisd_or_int_<mode>3): New Pattern.
(aarch64_lshr_sisd_or_int_<mode>3): Likewise.
(aarch64_ashr_sisd_or_int_<mode>3): Likewise.
(define_split for aarch64_lshr_sisd_or_int_di3): Likewise.
(define_split for aarch64_lshr_sisd_or_int_si3): Likewise.
(define_split for aarch64_ashr_sisd_or_int_di3): Likewise.
(define_split for aarch64_ashr_sisd_or_int_si3): Likewise.
(aarch64_sisd_ushl, aarch64_sisd_sshl): Likewise.
(aarch64_ushl_2s, aarch64_sshl_2s, aarch64_sisd_neg_qi): Likewise.
(ror<mode>3_insn): Likewise.
* config/aarch64/predicates.md (aarch64_simd_register): New.

gcc/testsuite/

2013-08-27  Vidya Praveen  <vidyapraveen@arm.com>

* gcc.target/aarch64/scalar_shift_1.c: New.

From-SVN: r202020

11 years agore PR tree-optimization/57521 (wrong code for expressions in loop at -O3)
Richard Biener [Tue, 27 Aug 2013 10:10:34 +0000 (10:10 +0000)]
re PR tree-optimization/57521 (wrong code for expressions in loop at -O3)

2013-08-27  Richard Biener  <rguenther@suse.de>

PR tree-optimization/57521
* tree-if-conv.c (if_convertible_bb_p): Verify that at least
one edge is non-critical.
(find_phi_replacement_condition): Make sure to use a non-critical
edge.  Cleanup and remove old bug workarounds.
(bb_postdominates_preds): Remove.
(if_convertible_loop_p_1): Do not compute post-dominators.
(combine_blocks): Do not free post-dominators.
(main_tree_if_conversion): Likewise.
(pass_data_if_conversion): Add TODO_verify_ssa.

* gcc.dg/torture/pr57521.c: New testcase.

From-SVN: r202019

11 years agore PR rtl-optimization/57860 (wrong code for bitwise ops with long long literal on...
Jakub Jelinek [Tue, 27 Aug 2013 09:24:52 +0000 (11:24 +0200)]
re PR rtl-optimization/57860 (wrong code for bitwise ops with long long literal on x86_64-linux (32-bit mode))

PR rtl-optimization/57860
PR rtl-optimization/57861
PR rtl-optimization/57875
PR rtl-optimization/57876
PR rtl-optimization/57877
* gcc.c-torture/execute/pr57860.c: New test.
* gcc.c-torture/execute/pr57861.c: New test.
* gcc.c-torture/execute/pr57875.c: New test.
* gcc.c-torture/execute/pr57876.c: New test.
* gcc.c-torture/execute/pr57877.c: New test.

From-SVN: r202018

11 years agodecl.c (grokfndecl): Remove old bison hack.
Paolo Carlini [Tue, 27 Aug 2013 08:41:09 +0000 (08:41 +0000)]
decl.c (grokfndecl): Remove old bison hack.

2013-08-27  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (grokfndecl): Remove old bison hack.

From-SVN: r202017

11 years ago* config/i386/djgpp.h (ASM_DECLARE_FUNCTION_NAME): New.
DJ Delorie [Tue, 27 Aug 2013 04:22:05 +0000 (00:22 -0400)]
* config/i386/djgpp.h (ASM_DECLARE_FUNCTION_NAME): New.

From-SVN: r202016

11 years agoMakefile.am: Add regex_scanner.{h,tcc}.
Tim Shen [Tue, 27 Aug 2013 02:49:22 +0000 (02:49 +0000)]
Makefile.am: Add regex_scanner.{h,tcc}.

2013-08-26  Tim Shen  <timshen91@gmail.com>

* include/Makefile.am: Add regex_scanner.{h,tcc}.
* include/Makefile.in: Regenerate.
* include/bits/regex.h (match_search): Handle the `__first == __last`
  situation correctly.
* include/bits/regex_compiler.h: Move _Scanner...
* include/bits/regex_scanner.h: ...to here. New.
* include/bits/regex_compiler.tcc: Move _Scanner...
* include/bits/regex_scanner.tcc: ...to here, too. New.
* include/bits/regex_executor.tcc: Use value instead of reference for
  submatch.
* include/std/regex: Add regex_scanner.h
* testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New.
* testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New.
* testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New.
* testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New.
* testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New.

From-SVN: r202015

11 years agofunction.c (assign_parm_find_data_types): Set passed_mode and nominal_mode to the...
Yufeng Zhang [Tue, 27 Aug 2013 02:45:17 +0000 (02:45 +0000)]
function.c (assign_parm_find_data_types): Set passed_mode and nominal_mode to the TYPE_MODE of nominal_type for the built...

gcc/
* function.c (assign_parm_find_data_types): Set passed_mode and
nominal_mode to the TYPE_MODE of nominal_type for the built
pointer type in case of the struct-pass-by-reference.

From-SVN: r202014

11 years agoDaily bump.
GCC Administrator [Tue, 27 Aug 2013 00:17:02 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r202013

11 years agoMove myself from libvtv "Various Reviewers" to libvtv
Caroline Tice [Mon, 26 Aug 2013 22:27:56 +0000 (15:27 -0700)]
Move myself from libvtv "Various Reviewers" to libvtv
"Various Maintainers".

From-SVN: r202010

11 years agoavr.opt (mfract-convert-truncate): New option.
Joern Rennecke [Mon, 26 Aug 2013 16:57:28 +0000 (16:57 +0000)]
avr.opt (mfract-convert-truncate): New option.

        * config/avr/avr.opt (mfract-convert-truncate): New option.
        * config/avr/avr.c (avr_out_fract): Unless TARGET_FRACT_CONV_TRUNC
        is set, round negative fractional integers according to n1169
        when converting to integer types.

From-SVN: r202008

11 years agoAdd PR marker to PR id in ChangeLog.
Joern Rennecke [Mon, 26 Aug 2013 16:54:29 +0000 (17:54 +0100)]
Add PR marker to PR id in ChangeLog.

From-SVN: r202007

11 years agore PR c/35649 (Incorrect printf warning: expect double has float)
Joern Rennecke [Mon, 26 Aug 2013 16:52:19 +0000 (16:52 +0000)]
re PR c/35649 (Incorrect printf warning: expect double has float)

2013-08-26  Joern Rennecke  <joern.rennecke@embecosm.com>
            Joseph Myers  <joseph@codesourcery.com>

        c/35649
        * c-typeck.c (c_common_type): Prefer double_type_node over
        other REAL_TYPE types with the same precision.
        (convert_arguments): Likewise.

Amend patch as suggested:
From:   "Joseph S. Myers" <joseph@codesourcery.com>
In convert_arguments I think you should be comparing TYPE_MAIN_VARIANT
(valtype) against double_type_node and long_double_type_node, rather than
just valtype.

This is PR c/35649 (so include that number in your ChangeLog entry and
close that bug as fixed).

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r202006

11 years agoavr-stdint.h (INT16_TYPE): Change default to "int".
Joern Rennecke [Mon, 26 Aug 2013 16:39:25 +0000 (16:39 +0000)]
avr-stdint.h (INT16_TYPE): Change default to "int".

        * config/avr/avr-stdint.h (INT16_TYPE): Change default to "int".
        (UINT16_TYPE): Change default to "unsigned int".

From-SVN: r202005

11 years agoc-typeck.c (c_common_type): Prefer double_type_node over other REAL_TYPE types with...
Joern Rennecke [Mon, 26 Aug 2013 16:22:37 +0000 (16:22 +0000)]
c-typeck.c (c_common_type): Prefer double_type_node over other REAL_TYPE types with the same precision.

        * c-typeck.c (c_common_type): Prefer double_type_node over
        other REAL_TYPE types with the same precision.
        (convert_arguments): Likewise.

From-SVN: r202004

11 years agocgraph.c (cgraph_propagate_frequency): Do not assume that virtual methods can not...
Jan Hubicka [Mon, 26 Aug 2013 15:42:10 +0000 (17:42 +0200)]
cgraph.c (cgraph_propagate_frequency): Do not assume that virtual methods can not be called indirectly when...

* cgraph.c (cgraph_propagate_frequency): Do not assume that virtual
methods can not be called indirectly when their address is not taken.

From-SVN: r202003

11 years ago* gimple-fold.c (gimple_get_virt_method_for_binfo): Use ctor_for_folding.
Jan Hubicka [Mon, 26 Aug 2013 15:40:40 +0000 (17:40 +0200)]
* gimple-fold.c (gimple_get_virt_method_for_binfo): Use ctor_for_folding.

From-SVN: r202002

11 years agoipa.c (comdat_can_be_unshared_p_1): C++ constructors and destructors can be unshared.
Jan Hubicka [Mon, 26 Aug 2013 15:38:33 +0000 (17:38 +0200)]
ipa.c (comdat_can_be_unshared_p_1): C++ constructors and destructors can be unshared.

* ipa.c (comdat_can_be_unshared_p_1): C++ constructors and destructors
can be unshared.

From-SVN: r202001

11 years agoreload.c (find_valid_class): Allow classes that do not include FIRST_PSEUDO_REGISTER...
Joern Rennecke [Mon, 26 Aug 2013 15:32:55 +0000 (15:32 +0000)]
reload.c (find_valid_class): Allow classes that do not include FIRST_PSEUDO_REGISTER - 1.

* reload.c (find_valid_class): Allow classes that do not include
FIRST_PSEUDO_REGISTER - 1.

From-SVN: r202000

11 years agocgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix formatting...
Jan Hubicka [Mon, 26 Aug 2013 15:29:28 +0000 (17:29 +0200)]
cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix formatting...

* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix formatting;
fix edge count/frequency when speculation failed; fix type check
for the direct call.

From-SVN: r201999

11 years ago* ipa-prop.c (ipa_print_node_params): Do not ICE during WPA.
Jan Hubicka [Mon, 26 Aug 2013 15:24:41 +0000 (17:24 +0200)]
* ipa-prop.c (ipa_print_node_params): Do not ICE during WPA.

From-SVN: r201998