iains [Sun, 1 Sep 2013 12:16:07 +0000 (12:16 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202144
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 1 Sep 2013 12:00:35 +0000 (12:00 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202143
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 1 Sep 2013 11:59:27 +0000 (11:59 +0000)]
* gcc.dg/fork-instrumentation.c: New testcase.
* builtins.c (expand_builtin): Do not exit early for gcov
instrumented functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202142
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 1 Sep 2013 00:16:38 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202139
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Sat, 31 Aug 2013 15:31:34 +0000 (15:31 +0000)]
2013-08-31 Marek Polacek <polacek@redhat.com>
* ubsan.c: Include tm_p.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202134
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 31 Aug 2013 14:20:47 +0000 (14:20 +0000)]
* gimple-streamer-in.c (input_gimple_stmt): Silence parameter unused
warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202133
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [Sat, 31 Aug 2013 13:55:10 +0000 (13:55 +0000)]
* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202132
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 31 Aug 2013 13:47:20 +0000 (13:47 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202131
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 31 Aug 2013 13:44:46 +0000 (13:44 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202130
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 31 Aug 2013 13:37:48 +0000 (13:37 +0000)]
* cgraph.c (cgraph_speculative_call_info): Fix ref lookup
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202129
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 31 Aug 2013 13:32:31 +0000 (13:32 +0000)]
* basic-block.h (apply_scale): Make scale parmeter gcov_type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202128
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sat, 31 Aug 2013 13:23:36 +0000 (13:23 +0000)]
* config/alpha/alpha.c (alpha_emit_conditional_move): Update
"cmp" RTX before signed_comparison_operator check to account
for "code" changes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202127
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 31 Aug 2013 12:26:32 +0000 (12:26 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202126
138bc75d-0d04-0410-961f-
82ee72b054a4
tejohnson [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,
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202125
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 31 Aug 2013 00:16:32 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202124
138bc75d-0d04-0410-961f-
82ee72b054a4
fdumont [Fri, 30 Aug 2013 20:55:37 +0000 (20:55 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202121
138bc75d-0d04-0410-961f-
82ee72b054a4
fdumont [Fri, 30 Aug 2013 20:16:03 +0000 (20:16 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202119
138bc75d-0d04-0410-961f-
82ee72b054a4
edlinger [Fri, 30 Aug 2013 19:34:43 +0000 (19:34 +0000)]
2013-08-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
* MAINTAINERS (Write After Approval): Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202118
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 30 Aug 2013 17:43:42 +0000 (17:43 +0000)]
* g++.dg/abi/mangle33.C (dg-final): Use match count in scan RE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202117
138bc75d-0d04-0410-961f-
82ee72b054a4
torvald [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202116
138bc75d-0d04-0410-961f-
82ee72b054a4
meadori [Fri, 30 Aug 2013 16:36:46 +0000 (16:36 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202115
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 30 Aug 2013 16:12:58 +0000 (16:12 +0000)]
Merge ubsan into trunk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202113
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Fri, 30 Aug 2013 15:45:18 +0000 (15:45 +0000)]
* doc/install.texi (Prerequisites): Note regression in Tcl 8.6
with RE patterns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202112
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 30 Aug 2013 15:41:26 +0000 (15:41 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202111
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 30 Aug 2013 15:39:01 +0000 (15:39 +0000)]
/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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202110
138bc75d-0d04-0410-961f-
82ee72b054a4
gdr [Fri, 30 Aug 2013 15:28:51 +0000 (15:28 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202109
138bc75d-0d04-0410-961f-
82ee72b054a4
belagod [Fri, 30 Aug 2013 15:04:58 +0000 (15:04 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202108
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202107
138bc75d-0d04-0410-961f-
82ee72b054a4
tejohnson [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202106
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 30 Aug 2013 12:41:17 +0000 (12:41 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202104
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 30 Aug 2013 11:52:15 +0000 (11:52 +0000)]
2013-08-30 Richard Biener <rguenther@suse.de>
* fold-const.c (fold_single_bit_test): Fix overflow test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202103
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [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, 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202102
138bc75d-0d04-0410-961f-
82ee72b054a4
torvald [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202101
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 30 Aug 2013 09:39:20 +0000 (09:39 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202100
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 30 Aug 2013 08:14:37 +0000 (08:14 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202099
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 30 Aug 2013 08:11:41 +0000 (08:11 +0000)]
* tree.c (set_call_expr_flags): Fix handling of TM_PURE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202098
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 30 Aug 2013 07:49:54 +0000 (07:49 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202097
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 30 Aug 2013 07:48:53 +0000 (07:48 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202096
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 30 Aug 2013 07:47:54 +0000 (07:47 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202095
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 30 Aug 2013 07:33:56 +0000 (07:33 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202094
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 30 Aug 2013 07:33:06 +0000 (07:33 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202093
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 30 Aug 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202092
138bc75d-0d04-0410-961f-
82ee72b054a4
davidxl [Thu, 29 Aug 2013 21:06:08 +0000 (21:06 +0000)]
New vectorizer messages; message format change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202088
138bc75d-0d04-0410-961f-
82ee72b054a4
abutcher [Thu, 29 Aug 2013 20:54:49 +0000 (20:54 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202087
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202086
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Thu, 29 Aug 2013 19:06:33 +0000 (19:06 +0000)]
* gcc_update (configure): Update to handle svn 1.8.1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202084
138bc75d-0d04-0410-961f-
82ee72b054a4
timshen [Thu, 29 Aug 2013 18:33:07 +0000 (18:33 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202082
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Thu, 29 Aug 2013 18:29:33 +0000 (18:29 +0000)]
* passes.c (register_pass): Add overload.
* tree-pass.h (register_pass): Forward declare it. Add comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202081
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 29 Aug 2013 16:24:13 +0000 (16:24 +0000)]
Revert accidental checkin.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202080
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 29 Aug 2013 16:23:40 +0000 (16:23 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202079
138bc75d-0d04-0410-961f-
82ee72b054a4
tejohnson [Thu, 29 Aug 2013 13:51:04 +0000 (13:51 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202077
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 29 Aug 2013 13:04:19 +0000 (13:04 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202071
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Thu, 29 Aug 2013 11:44:41 +0000 (11:44 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202070
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 29 Aug 2013 11:20:16 +0000 (11:20 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202069
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 29 Aug 2013 07:45:59 +0000 (07:45 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202068
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [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.
(Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202065
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 29 Aug 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202064
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 28 Aug 2013 22:40:34 +0000 (22:40 +0000)]
/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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202061
138bc75d-0d04-0410-961f-
82ee72b054a4
ctice [Wed, 28 Aug 2013 21:06:43 +0000 (21:06 +0000)]
Replace fixed size array that was holding vtable pointers
with a vector, allowing dynamic resizing. ALso fix issues with
warning diagnostics.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202060
138bc75d-0d04-0410-961f-
82ee72b054a4
dehao [Wed, 28 Aug 2013 18:11:33 +0000 (18:11 +0000)]
2013-08-28 Dehao Chen <dehao@google.com>
* ipa-inline.c (edge_badness): Fix integer underflow.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202059
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 28 Aug 2013 17:42:19 +0000 (17:42 +0000)]
* gtm-builtins.def (_ITM_free): Declare leaf.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202058
138bc75d-0d04-0410-961f-
82ee72b054a4
ctice [Wed, 28 Aug 2013 16:36:22 +0000 (16:36 +0000)]
Apparently I forgot to commit the ChangeLog when I committed
the change to libvtv previously. Fixing that now.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202056
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 28 Aug 2013 16:31:41 +0000 (16:31 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202055
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 28 Aug 2013 15:07:45 +0000 (15:07 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202054
138bc75d-0d04-0410-961f-
82ee72b054a4
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.
(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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202053
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 28 Aug 2013 15:03:43 +0000 (15:03 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202052
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 28 Aug 2013 14:41:27 +0000 (14:41 +0000)]
PR spam/58261
PR spam/58262
Fix up ChangeLog entry whitespace.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202051
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 28 Aug 2013 10:08:59 +0000 (10:08 +0000)]
PR middle-end/58257
* omp-low.c (copy_var_decl): Copy over TREE_NO_WARNING flag.
* c-c++-common/gomp/pr58257.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202049
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 28 Aug 2013 09:34:15 +0000 (09:34 +0000)]
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202048
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 28 Aug 2013 07:51:10 +0000 (07:51 +0000)]
2013-08-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/56933
* gcc.dg/vect/pr56933.c: Properly guard runtime with check_vect ().
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202044
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 28 Aug 2013 07:10:47 +0000 (07:10 +0000)]
* builtins.def (free): Declare leaf.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202043
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 28 Aug 2013 06:51:27 +0000 (06:51 +0000)]
* lto-partition.c (lto_balanced_map): Always base order on
source file order.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202041
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202040
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 28 Aug 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202039
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Tue, 27 Aug 2013 21:41:15 +0000 (21:41 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202036
138bc75d-0d04-0410-961f-
82ee72b054a4
aldyh [Tue, 27 Aug 2013 18:38:00 +0000 (18:38 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202029
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202028
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 27 Aug 2013 17:24:37 +0000 (17:24 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202026
138bc75d-0d04-0410-961f-
82ee72b054a4
belagod [Tue, 27 Aug 2013 15:22:10 +0000 (15:22 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202023
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Tue, 27 Aug 2013 15:22:07 +0000 (15:22 +0000)]
Remove experimental LRA test
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202022
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Tue, 27 Aug 2013 12:39:21 +0000 (12:39 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202021
138bc75d-0d04-0410-961f-
82ee72b054a4
vp [Tue, 27 Aug 2013 10:50:26 +0000 (10:50 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202020
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 27 Aug 2013 10:10:34 +0000 (10:10 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202019
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 27 Aug 2013 09:24:52 +0000 (09:24 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202018
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 27 Aug 2013 08:41:09 +0000 (08:41 +0000)]
2013-08-27 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (grokfndecl): Remove old bison hack.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202017
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Tue, 27 Aug 2013 04:22:05 +0000 (04:22 +0000)]
* config/i386/djgpp.h (ASM_DECLARE_FUNCTION_NAME): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202016
138bc75d-0d04-0410-961f-
82ee72b054a4
timshen [Tue, 27 Aug 2013 02:49:22 +0000 (02:49 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202015
138bc75d-0d04-0410-961f-
82ee72b054a4
yufeng [Tue, 27 Aug 2013 02:45:17 +0000 (02:45 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202014
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 27 Aug 2013 00:17:02 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202013
138bc75d-0d04-0410-961f-
82ee72b054a4
ctice [Mon, 26 Aug 2013 22:27:56 +0000 (22:27 +0000)]
Move myself from libvtv "Various Reviewers" to libvtv
"Various Maintainers".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202010
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 26 Aug 2013 16:57:28 +0000 (16:57 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202008
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 26 Aug 2013 16:54:29 +0000 (16:54 +0000)]
Add PR marker to PR id in ChangeLog.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202007
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 26 Aug 2013 16:52:19 +0000 (16:52 +0000)]
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).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202006
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 26 Aug 2013 16:39:25 +0000 (16:39 +0000)]
* config/avr/avr-stdint.h (INT16_TYPE): Change default to "int".
(UINT16_TYPE): Change default to "unsigned int".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202005
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [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.
(convert_arguments): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202004
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 26 Aug 2013 15:42:10 +0000 (15:42 +0000)]
* cgraph.c (cgraph_propagate_frequency): Do not assume that virtual
methods can not be called indirectly when their address is not taken.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202003
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 26 Aug 2013 15:40:40 +0000 (15:40 +0000)]
* gimple-fold.c (gimple_get_virt_method_for_binfo): Use ctor_for_folding.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202002
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 26 Aug 2013 15:38:33 +0000 (15:38 +0000)]
* ipa.c (comdat_can_be_unshared_p_1): C++ constructors and destructors
can be unshared.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202001
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202000
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 26 Aug 2013 15:29:28 +0000 (15:29 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201999
138bc75d-0d04-0410-961f-
82ee72b054a4