aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2013-08-30install.texi (Prerequisites): Note regression in Tcl 8.6 with RE patterns.Mike Stump2-1/+10
* doc/install.texi (Prerequisites): Note regression in Tcl 8.6 with RE patterns. From-SVN: r202112
2013-08-30cgraph.c (cgraph_function_body_availability): Handle weakref correctly.Jan Hubicka9-8/+67
* 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
2013-08-30re PR c++/51424 ([C++11] G++ should diagnose self-delegating constructors)Paolo Carlini7-3/+94
/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
2013-08-30c-pretty-print.h (c_pretty_printer::declaration): Now a virtual member function.Gabriel Dos Reis7-154/+204
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
2013-08-30arm_neon.h (__AARCH64_UINT64_C, [...]): New arm_neon.h's internal macros to ↵Tejas Belagod2-183/+222
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
2013-08-30recog.c (verify_changes): Verify that changes[i].old is non-zero before ↵Joern Rennecke2-1/+9
applying REG_P. * recog.c (verify_changes): Verify that changes[i].old is non-zero before applying REG_P. From-SVN: r202107
2013-08-30Move testsuite changes to correct ChangeLog, and delete a newTeresa Johnson3-17/+11
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
2013-08-30re PR tree-optimization/58277 (wrong code at -O3)Jakub Jelinek5-0/+235
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
2013-08-30fold-const.c (fold_single_bit_test): Fix overflow test.Richard Biener2-3/+7
2013-08-30 Richard Biener <rguenther@suse.de> * fold-const.c (fold_single_bit_test): Fix overflow test. From-SVN: r202103
2013-08-30function.c (assign_parm_setup_reg): For a parameter passed by pointer and ↵Eric Botcazou6-13/+120
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
2013-08-30Correct previous patch to not mark terminate as LEAF.Jan Hubicka4-15/+21
* 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
2013-08-30class.c (build_vtbl_initializer): Make __cxa_deleted_virtual ECF_NORETURN | ↵Jan Hubicka6-74/+107
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
2013-08-30* tree.c (set_call_expr_flags): Fix handling of TM_PURE.Jan Hubicka2-3/+9
From-SVN: r202098
2013-08-30re PR tree-optimization/58228 (wrong code (with vectorization?) at -O3 on ↵Richard Biener4-1/+34
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
2013-08-30re PR tree-optimization/58223 (wrong code at -O3 on x86_64-linux-gnu)Richard Biener5-13/+45
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
2013-08-30re PR tree-optimization/58010 (ICE in vect_create_epilog_for_reduction, at ↵Richard Biener4-3/+28
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
2013-08-30lto-symtab.c (lto_cgraph_replace_node): Free decl_in_state.Jan Hubicka2-0/+9
* 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
2013-08-30lto-symtab.c (lto_cgraph_replace_node): Free decl_in_state.Jan Hubicka5-1/+48
* 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
2013-08-30Daily bump.GCC Administrator1-1/+1
From-SVN: r202092
2013-08-29New vectorizer messages; message format change.Xinliang David Li58-69/+154
From-SVN: r202088
2013-08-29Support dumping type bindings and 'mutable' qualifier in lambda diagnostics.Adam Butcher2-27/+54
* 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
2013-08-29cgraphclones.c (cgraph_create_virtual_clone): Compute the DECL_NAME of the ↵Eric Botcazou4-5/+20
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
2013-08-29passes.c (register_pass): Add overload.Oleg Endo3-2/+27
* passes.c (register_pass): Add overload. * tree-pass.h (register_pass): Forward declare it. Add comment. From-SVN: r202081
2013-08-29Revert accidental checkin.Jan Hubicka1-1/+1
From-SVN: r202080
2013-08-29lto.c (compare_tree_sccs_1): Compare DECL_FINAL_P...Jan Hubicka7-5/+55
* 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
2013-08-29dumpfile.c (dump_loc): Output column number.Teresa Johnson14-34/+97
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
2013-08-29re PR tree-optimization/58246 (wrong code at -O1 and above)Richard Biener4-0/+37
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
2013-08-29re PR fortran/52243 (Avoid reallocation for: array1 = array1 / scalar for ↵Thomas Koenig5-2/+136
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
2013-08-29re PR middle-end/57287 (Bogus uninitialized warning with abnormal control flow)Richard Biener4-1/+53
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
2013-08-29re PR tree-optimization/57685 (GCC stuck in an infinite loop)Richard Biener4-4/+34
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
2013-08-29go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if the struct is ↵Ian Lance Taylor2-10/+12
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
2013-08-29Daily bump.GCC Administrator1-1/+1
From-SVN: r202064
2013-08-28re PR c++/58255 ([C++11] explicit delegating constructor with no arguments ↵Paolo Carlini4-1/+20
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
2013-08-28Replace fixed size array that was holding vtable pointers with a vector, ↵Caroline Tice2-57/+65
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
2013-08-28ipa-inline.c (edge_badness): Fix integer underflow.Dehao Chen3-6/+29
2013-08-28 Dehao Chen <dehao@google.com> * ipa-inline.c (edge_badness): Fix integer underflow. From-SVN: r202059
2013-08-28gtm-builtins.def (_ITM_free): Declare leaf.Uros Bizjak2-4/+8
* gtm-builtins.def (_ITM_free): Declare leaf. From-SVN: r202058
2013-08-28re PR target/58067 (ICE in GFortran recog.c:2158)Jakub Jelinek3-2/+63
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
2013-08-28tree-ssa-threadedge.c (thread_around_empty_block): Remove checks for the ↵Jeff Law3-13/+52
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
2013-08-28lto-streamer-out.c (DFS_write_tree_body): Drop BINFO_INHERITANCE_CHAIN, ↵Jan Hubicka1-7/+2
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
2013-08-28lto.c (compare_tree_sccs_1): Drop DECL_ERROR_ISSUED, DECL_DEFER_OUTPUT and ↵Jan Hubicka7-43/+49
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
2013-08-28PR spam/58261Jakub Jelinek1-1/+1
PR spam/58262 Fix up ChangeLog entry whitespace. From-SVN: r202051
2013-08-28re PR middle-end/58257 (Bogus warning with OpenMP collapsed loops)Jakub Jelinek4-0/+26
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
2013-08-28ChangeLog: Fix whitespace.Uros Bizjak2-100/+92
* ChangeLog: Fix whitespace. * testsuite/ChangeLog: Ditto. From-SVN: r202048
2013-08-28re PR tree-optimization/56933 (Vectorizer missing read-write dependency for ↵Richard Biener2-0/+11
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
2013-08-28* builtins.def (free): Declare leaf.Jan Hubicka2-1/+5
From-SVN: r202043
2013-08-28lto-partition.c (lto_balanced_map): Always base order on source file order.Jan Hubicka2-19/+19
* 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
2013-08-28Initial version of gdb hooksDavid Malcolm4-0/+405
* 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
2013-08-28Daily bump.GCC Administrator1-1/+1
From-SVN: r202039
2013-08-27ipa-prop.h (ipa_pass_through_data): New field type_preserved.Martin Jambor4-56/+203
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
2013-08-27Makefile.in (omp-low.o): Depend on $(TARGET_H).Jakub Jelinek31-336/+2154
* 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