aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2013-09-16[AArch64] Improve arm_neon.h vml<as>_lane handling.James Greenhalgh10-561/+1137
gcc/ * config/aarch64/aarch64-simd-builtins.def (fma): New. * config/aarch64/aarch64-simd.md (aarch64_mla_elt<mode>): New. (aarch64_mla_elt_<vswap_width_name><mode>): Likewise. (aarch64_mls_elt<mode>): Likewise. (aarch64_mls_elt_<vswap_width_name><mode>): Likewise. (aarch64_fma4_elt<mode>): Likewise. (aarch64_fma4_elt_<vswap_width_name><mode>): Likewise. (aarch64_fma4_elt_to_128v2df): Likewise. (aarch64_fma4_elt_to_64df): Likewise. (fnma<mode>4): Likewise. (aarch64_fnma4_elt<mode>): Likewise. (aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise. (aarch64_fnma4_elt_to_128v2df): Likewise. (aarch64_fnma4_elt_to_64df): Likewise. * config/aarch64/iterators.md (VDQSF): New. * config/aarch64/arm_neon.h (vfm<as><sdq>_lane<q>_f<32, 64>): Convert to C implementation. (vml<sa><q>_lane<q>_<fsu><16, 32, 64>): Likewise. gcc/testsuite/ * gcc.target/aarch64/fmla-intrinsic.c: New. * gcc.target/aarch64/mla-intrinsic.c: Likewise. * gcc.target/aarch64/fmls-intrinsic.c: Likewise. * gcc.target/aarch64/mls-intrinsic.c: Likewise. From-SVN: r202625
2013-09-16[AArch64] Implement vmul<q>_lane<q>_<fsu><16,32,64> intrinsics in CJames Greenhalgh7-287/+446
gcc/ * config/aarch64/aarch64-simd.md (aarch64_mul3_elt<mode>): New. (aarch64_mul3_elt_<vswap_width_name><mode>): Likewise. (aarch64_mul3_elt_to_128df): Likewise. (aarch64_mul3_elt_to_64v2df): Likewise. * config/aarch64/iterators.md (VEL): Also handle DFmode. (VMUL): New. (VMUL_CHANGE_NLANES) Likewise. (h_con): Likewise. (f): Likewise. * config/aarch64/arm_neon.h (vmul<q>_lane<q>_<suf><16,32,64>): Convert to C implementation. gcc/testsuite/ * gcc.target/aarch64/mul_intrinsic_1.c: New. * gcc.target/aarch64/fmul_intrinsic_1.c: Likewise. From-SVN: r202624
2013-09-16[AArch64] Fix parameters to vcvtx_highJames Greenhalgh2-2/+7
* config/aarch64/arm_neon.h (vcvtx_high_f32_f64): Fix parameters. From-SVN: r202623
2013-09-16alpha.c: Include tree-ssa.h.Jan-Benedict Glaw2-17/+24
* config/alpha.c: Include tree-ssa.h. From-SVN: r202621
2013-09-16tree-loop-distribution.c (enum rdg_dep_type): Add control_dd.Richard Biener4-73/+141
2013-09-16 Richard Biener <rguenther@suse.de> * tree-loop-distribution.c (enum rdg_dep_type): Add control_dd. (dot_rdg_1): Handle control_dd. (create_edge_for_control_dependence): New function. (create_rdg_edges): Add control dependences if asked for. (build_rdg): Likewise. (generate_loops_for_partition): If there are not necessary control stmts remove all their dependencies. (collect_condition_stmts, rdg_flag_loop_exits): Remove. (distribute_loop): Pass on control dependences. (tree_loop_distribution): Compute control dependences and remove restriction on number of loop nodes. * gcc.dg/tree-ssa/ldist-22.c: New testcase. From-SVN: r202619
2013-09-16Change log update for 202610-202612.Adam Butcher2-0/+59
From-SVN: r202615
2013-09-16ipa-prop.c (ipa_compute_jump_functions_for_edge): Return early for internal ↵Jakub Jelinek2-0/+7
calls. * ipa-prop.c (ipa_compute_jump_functions_for_edge): Return early for internal calls. From-SVN: r202614
2013-09-16cse.c (try_const_anchors): Punt on CC modes.Richard Sandiford2-0/+9
gcc/ * cse.c (try_const_anchors): Punt on CC modes. From-SVN: r202613
2013-09-16Support using 'auto' in a function parameter list to introduce an implicit ↵Adam Butcher8-72/+353
template parameter. gcc/cp/ * cp-tree.h (type_uses_auto_or_concept): Declare. (is_auto_or_concept): Declare. * decl.c (grokdeclarator): Allow 'auto' parameters in lambdas with -std=gnu++1y or -std=c++1y or, as a GNU extension, in plain functions. * type-utils.h: New header defining ... (find_type_usage): ... this new function based on pt.c (type_uses_auto) for searching a type tree given a predicate. * pt.c (type_uses_auto): Reimplement via type-utils.h (find_type_usage). (is_auto_or_concept): New function. (type_uses_auto_or_concept): New function. * parser.h (struct cp_parser): Add fully_implicit_function_template_p. * parser.c (cp_parser_new): Initialize fully_implicit_function_template_p. (cp_parser_new): Initialize fully_implicit_function_template_p. (cp_parser_lambda_expression): Copy and restore value of fully_implicit_function_template_p as per other parser fields. (cp_parser_parameter_declaration_list): Count generic parameters and call ... (add_implicit_template_parms): ... this new function to synthesize them with help from type-utils.h (find_type_usage), ... (tree_type_is_auto_or_concept): ... this new static function and ... (make_generic_type_name): ... this new static function. (cp_parser_direct_declarator): Account for implicit template parameters. (cp_parser_lambda_declarator_opt): Finish fully implicit template if necessary by calling ... (finish_fully_implicit_template): ... this new function. (cp_parser_init_declarator): Likewise. (cp_parser_function_definition_after_declarator): Likewise. (cp_parser_member_declaration): Likewise. * Make-lang.in (cp/pt.o): Add dependency on type-utils.h. (cp/parser.o): Likewise. gcc/testsuite/ g++.dg/cpp0x/auto9.C: Downgrade two previously expected errors (now interpreted as implicit templates) to be expected pedwarns instead. From-SVN: r202612
2013-09-16Support lambda templates.Adam Butcher4-36/+201
* parser.c (cp_parser_lambda_declarator_opt): Accept template parameter list with std=c++1y or std=gnu++1y. (cp_parser_lambda_body): Don't call 'expand_or_defer_fn' for lambda call operator template to avoid adding template result to symbol table. * lambda.c (lambda_function): Return template result if call operator is a template. (maybe_add_lambda_conv_op): Move declarations to point of use. Refactor operator call building in order to support conversion of a non-capturing lambda template to a function pointer with help from ... (prepare_op_call): ... this new function. * decl2.c (check_member_template): Don't reject lambda call operator template in local [lambda] class. * pt.c (instantiate_class_template_1): Don't instantiate lambda call operator template when instantiating lambda class. From-SVN: r202611
2013-09-16* pt.c (make_auto_1): Use input_location rather than BUILTINS_LOCATION.Adam Butcher1-1/+1
From-SVN: r202610
2013-09-16re PR fortran/57697 ([OOP] Segfault with defined assignment for components ↵Tobias Burnus4-12/+27
during intrinsic assignment) 2013-09-16 Tobias Burnus <burnus@net-b.de> PR fortran/57697 * resolve.c (generate_component_assignments): Correctly handle * the case that the LHS is not allocated. 2013-09-16 Tobias Burnus <burnus@net-b.de> PR fortran/57697 * gfortran.dg/defined_assignment_10.f90: Comment print * statement. From-SVN: r202609
2013-09-16Daily bump.GCC Administrator1-1/+1
From-SVN: r202608
2013-09-15Core DR 904 PR c++/41933Jason Merrill6-95/+338
Core DR 904 PR c++/41933 * parser.c (cp_parser_lambda_introducer): Handle variadic capture. * lambda.c (add_capture): Handle variadic capture. (add_default_capture, lambda_capture_field_type): Likewise. (build_capture_proxy, register_capture_members): Likewise. * pt.c (register_specialization): Allow FIELD_DECL. (retrieve_specialization): Likewise. (find_parameter_packs_r): Handle FIELD_DECL and VAR_DECL. (tsubst_pack_expansion): Handle FIELD_DECL packs. (gen_elem_of_pack_expansion_instantiation): Likewise. (instantiate_class_template_1): Likewise. (tsubst_decl, tsubst_copy): Likewise. (tsubst_expr) [DECL_EXPR]: Handle capture proxy packs. (tsubst_copy_and_build) [VAR_DECL]: Likewise. * semantics.c (finish_non_static_data_member): Don't try to represent the type of a COMPOUND_REF of a FIELD_DECL pack. From-SVN: r202605
2013-09-15re PR c++/41933 ([c++0x] lambdas and variadic templates don't work together)Jason Merrill5-23/+21
PR c++/41933 * cp-tree.h (DECL_PACK_P): Replace FUNCTION_PARAMETER_PACK_P. * cxx-pretty-print.c (direct_declarator): Adjust. * decl2.c (cp_build_parm_decl): Adjust. * pt.c (function_parameter_pack_p): Adjust. (find_parameter_packs_r, push_template_decl_real): Adjust. (tsubst_pack_expansion, tsubst_decl): Adjust. (regenerate_decl_from_template, instantiate_decl): Adjust. From-SVN: r202604
2013-09-15* lambda.c (add_capture): Don't add DECL_LANG_SPECIFIC.Jason Merrill3-2/+6
From-SVN: r202603
2013-09-15re PR fortran/57697 ([OOP] Segfault with defined assignment for components ↵Tobias Burnus4-2/+88
during intrinsic assignment) 2013-09-15 Tobias Burnus <burnus@net-b.de> PR fortran/57697 * resolve.c (generate_component_assignments): Handle unallocated LHS with defined assignment of components. 2013-09-15 Tobias Burnus <burnus@net-b.de> PR fortran/57697 * gfortran.dg/defined_assignment_10.f90: New. From-SVN: r202601
2013-09-15* config/vax/constraints.md (T): Add missing CONSTANT_P check.Jan-Benedict Glaw2-2/+7
From-SVN: r202600
2013-09-15Daily bump.GCC Administrator1-1/+1
From-SVN: r202599
2013-09-14re PR target/58382 (unwind.inc:136:1: ICE: in trunc_int_for_mode, at ↵John David Anglin2-2/+10
explow.c:55) PR target/58382 * config/pa/pa.c (pa_expand_prologue): Change mode in gen_rtx_POST_INC calls to word_mode. From-SVN: r202594
2013-09-14re PR target/48094 (ld: warning: section has unexpectedly large size errors ↵Iain Sandoe7-81/+69
in objc/obj-c++ lto) gcc: PR target/48094 * config/darwin.c (darwin_objc2_section): Note if ObjC Metadata is seen. (darwin_objc1_section): Likewise. (darwin_file_end): Emit Image Info section when required. gcc/c-family: PR target/48094 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version, fobjc-gc, freplace-objc-classes): Accept for LTO. gcc/objc: PR target/48094 * objc-next-runtime-abi-01.c (generate_objc_image_info): Remove. (objc_generate_v1_next_metadata): Remove generation of ImageInfo. * objc-next-runtime-abi-02.c (generate_v2_objc_image_info): Remove. (objc_generate_v2_next_metadata): Remove generation of ImageInfo. From-SVN: r202593
2013-09-14tree-into-ssa.c (gate_into_ssa): New.Jan Hubicka5-22/+82
* tree-into-ssa.c (gate_into_ssa): New. (pass_data_build_ssa): Use it. * cgraph.h (expand_thunk): Update prototype. * cgraphunit.c (analyze_function): Expand thunks early. (expand_thunk): Fix DECL_CONTEXT of reust_decl; build proper cgraph; set in_ssa_p; clear bogus TREE_ASM_WRITTEN; set lowered flag; do not add new function. (assemble_thunks_and_aliases): Update. * tree-ssa.c (gate_init_datastructures): New gate. (pass_data_init_datastructures): Use it. From-SVN: r202592
2013-09-14re PR target/58269 (ICE when building libobjc on x86_64-apple-darwin* after ↵Iain Sandoe2-11/+9
revision 201915) gcc: PR target/58269 config/i386/i386.c (ix86_function_arg_regno_p): Make Darwin use the xmm register set described in the psABI. From-SVN: r202590
2013-09-14Fix glitchesEric Botcazou1-3/+3
From-SVN: r202589
2013-09-14Daily bump.GCC Administrator1-1/+1
From-SVN: r202586
2013-09-13dwarf2out.c (should_emit_struct_debug): Add check for type_decl variable is ↵Evgeny Gavrin5-4/+88
not NULL. 2013-09-13 Evgeny Gavrin <e.gavrin@samsung.com> gcc/ * dwarf2out.c (should_emit_struct_debug): Add check for type_decl variable is not NULL. gcc/testsuite * gcc.dg/debug/dwarf2/omp-fesdr.c: Add test. * g++.dg/debug/dwarf2/omp-fesdr.C: Add test. From-SVN: r202582
2013-09-13Changelog entry for correction of thinko in the target pairDominique d'Humieres1-0/+5
filter for darwin. From-SVN: r202579
2013-09-13Fix thinko in the late conversion to the use of configure variables forDominique d'Humieres1-1/+1
the target pairs selection: * gcc-interface/Makefile.in: Fix darwin Filter to match on $target_os, not target_cpu. From-SVN: r202578
2013-09-13re PR c++/58273 (Segmentation fault with C++11)Jason Merrill3-1/+22
PR c++/58273 * pt.c (any_type_dependent_elements_p): Actually check for type-dependence, not value-dependence. From-SVN: r202576
2013-09-13c-target.def: New hookJacek Caban12-2/+129
2013-09-13 Jacek Caban <jacek@codeweavers.com> * c-target.def: New hook gcc/ChangeLog: 2013-09-13 Jacek Caban <jacek@codeweavers.com> * config.gcc: Use new winnt-c.c target hooks * config/t-winnt: New file * config/winnt-c.c: New file * doc/tm.texi.in: Document new hook * doc/tm.texi: Regenerated gcc/cp/Changelog: 2013-09-13 Jacek Caban <jacek@codeweavers.com> * decl.c: Use new cxx_implicit_extern_c hook gcc/testsuite/ChangeLog: 2013-09-13 Jacek Caban <jacek@codeweavers.com> * g++.dg/abi/main.C: Added implicit C linkage tests From-SVN: r202573
2013-09-13re PR target/57848 (internal compiler error on builtin and '#pragma GCC ↵Kai Tietz2-3/+7
target()' option) PR target/57848 * c-decl.c (c_builtin_function_ext_scope): Remove wrong assumption that it is never called on prexisting symbol. From-SVN: r202572
2013-09-13gcc.target/i386/pr57848.c: New file.Kai Tietz2-0/+10
From-SVN: r202571
2013-09-13Revert r202554, r202540 and r202539.Adam Butcher10-545/+64
- r202554: Fix uninitialized variables causing breakage with -Werror. - r202540: Support using 'auto' in a function parameter list to introduce an implicit template parameter. - r202539: Support lambda templates. From-SVN: r202570
2013-09-13re PR middle-end/58094 (IPA devirt testsuite errors)Jan Hubicka2-17/+25
PR middle-end/58094 * ipa-inline.c (check_callers): New function. (check_caller_edge): Remove. (want_inline_function_to_all_callers_p): Also permit alises that are called dirrectly. (inline_to_all_callers): Terminate the walk when devirtualization introduce new calls. From-SVN: r202567
2013-09-13ipa-inline-analysis.c (struct growth_data): Add node.Jan Hubicka2-3/+9
* ipa-inline-analysis.c (struct growth_data): Add node. (do_estimate_growth_1): Fix detection of recursion. From-SVN: r202566
2013-09-13re PR libgomp/58392 (internal compiler error: in expand_GOMP_SIMD_VF, at ↵Jakub Jelinek4-21/+71
internal-fn.c (omp simd inside omp parallel)) PR tree-optimization/58392 * tree-cfg.c (move_sese_region_to_fn): Rename loop variable to avoid shadowing of outer loop variable. If saved_cfun->has_simduid_loops or saved_cfun->has_force_vect_loops, replace_by_duplicate_decl simduid of loops that have it set and set dest_cfun->has_simduid_loops and/or dest_cfun->has_force_vect_loops. * omp-low.c (build_outer_var_ref): Call maybe_lookup_decl_in_outer_ctx instead of maybe_lookup_decl. * tree-inline.c (copy_loops): Change blocks_to_copy argument to id. Use id->blocks_to_copy instead of blocks_to_copy. Adjust recursive call. Copy over force_vect and copy and remap simduid. Set cfun->has_simduid_loops and/or cfun->has_force_vect_loops. (copy_cfg_body): Remove blocks_to_copy argument. Use id->blocks_to_copy instead of blocks_to_copy. Adjust copy_loops caller. Don't set cfun->has_simduid_loops and/or cfun->has_force_vect_loops here. (copy_body): Remove blocks_to_copy argument. Adjust copy_cfg_body caller. (expand_call_inline, tree_function_versioning): Adjust copy_body callers. From-SVN: r202564
2013-09-13re PR bootstrap/58388 (LTO profiledbootstrap fails in stage feedback for ↵Martin Jambor2-1/+8
tree-ssa-structalias.c with "internal compiler error: in try_make_edge_direct_simple_call, at ipa-prop.c:2606") 2013-09-13 Martin Jambor <mjambor@suse.cz> PR bootstrap/58388 * ipa-prop.c (try_make_edge_direct_simple_call): Be less strict in the assert if the edge was a speculative one. From-SVN: r202563
2013-09-13tree-data-ref.h (known_dependences_p): Move here ...Richard Biener4-147/+96
2013-09-13 Richard Biener <rguenther@suse.de> * tree-data-ref.h (known_dependences_p): Move here ... * tree-loop-distribution.c (known_dependences_p): ... from here. (dump_rdg_component, debug_rdg_component): Remove. (dump_rdg): Adjust. (generate_loops_for_partition): Use gimple_uid instead of relying on matching stmt visit order. (rdg_build_partitions): Take starting stmt vector. (ldist_gen): Merge into ... (distribute_loop): ... this function. Do not compute starting vertices vector. * tree-cfg.c (gimple_duplicate_bb): Copy UID for PHIs. From-SVN: r202561
2013-09-13arm.md (arm_cmpsi_insn): Split rI alternative.Kyrylo Tkachov2-6/+14
2013-09-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/arm/arm.md (arm_cmpsi_insn): Split rI alternative. Set type attribute correctly. Set predicable_short_it attribute. (cmpsi_shiftsi): Remove %? from output template. From-SVN: r202560
2013-09-13tree-loop-distribution.c (struct rdg_component, [...]): Remove.Richard Biener2-181/+56
2013-09-13 Richard Biener <rguenther@suse.de> * tree-loop-distribution.c (struct rdg_component, rdg_defs_used_in_other_loops_p, free_rdg_components, rdg_build_components): Remove. (stmts_from_loop): Do not record virtual PHIs. (generate_loops_for_partition): Skip virtual PHIs. (build_rdg_partition_for_component): Rename to ... (build_rdg_partition_for_vertex): ... this and adjust. (rdg_build_partitions): Take a vector of starting vertices instead of components. Remove unnecessary leftover handling. (ldist_gen): Do not build components or record other stores. (distribute_loop): Do not distribute loops containing stmts with side-effects. From-SVN: r202558
2013-09-13re PR target/58314 (SH4 error: 'asm' operand requires impossible reload)Christian Bruel4-8/+124
2013-09-13 Christian Bruel <christian.bruel@st.com> PR target/58314 * config/sh/sh.md (mov<mode>_reg_reg): Allow memory reloads. From-SVN: r202557
2013-09-13config.gcc: Separate cases for mingw and cygwin targets, and add 64-bit ↵Kai Tietz2-1/+6
cygwin target case. * config.gcc: Separate cases for mingw and cygwin targets, and add 64-bit cygwin target case. From-SVN: r202556
2013-09-13winnt-cxx.c (i386_pe_type_dllexport_p): Don't dll-export inline-functions.Kai Tietz3-1/+20
2013-09-13 Kai Tietz <ktietz@redhat.com> * config/i386/winnt-cxx.c (i386_pe_type_dllexport_p): Don't dll-export inline-functions. * config/i386/winnt.c (i386_pe_determine_dllexport_p): Likewise. Additional fix ChangeLog-date of prior commit. From-SVN: r202555
2013-09-13Fix uninitialized variables causing breakage with -Werror.Adam Butcher2-2/+7
* lambda.c (maybe_add_lambda_conv_op): Initialize direct_argvec and call to nullptr to avoid breakage with -Werror. From-SVN: r202554
2013-09-13Revert " * tree-ssa-dom.c (cprop_into_successor_phis): Also propagate"Jeff Law2-24/+9
This reverts commit 592dc887e7bd7b2637b9277c3bd28f41a9487b17. Conflicts: gcc/ChangeLog From-SVN: r202553
2013-09-13Daily bump.GCC Administrator1-1/+1
From-SVN: r202549
2013-09-12rl78-virt.md: Change from | to \; for asm line separators.DJ Delorie2-53/+58
* config/rl78/rl78-virt.md: Change from | to \; for asm line separators. From-SVN: r202545
2013-09-12re PR driver/42955 (undecorated cross-compiler gcc fails to find cc1)Brooks Moses6-27/+23
PR driver/42955 * Makefile.in: Do not install driver binaries in $(target)/bin. * cp/Make-lang.in: Likewise. * fortran/Make-lang.in: Likewise. From-SVN: r202544
2013-09-12rl78.opt (mrelax): New.DJ Delorie3-0/+18
* config/rl78/rl78.opt (mrelax): New. * config/rl78/rl78.h (ASM_SPEC): New, pass on -mrelax to gas. * config/rl78/rl78.h (LINK_SPEC): New, pass on -mrelax to ld. From-SVN: r202543
2013-09-12rl78.c (rl78_expand_prologue): Use AX to copy between SP and FP.DJ Delorie2-3/+15
* config/rl78/rl78.c (rl78_expand_prologue): Use AX to copy between SP and FP. (rl78_expand_epilogue): Likewise. From-SVN: r202542