aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2015-11-30Handle BUILT_IN_GOMP_PARALLEL in ipa-ptaTom de Vries4-13/+121
2015-11-30 Tom de Vries <tom@codesourcery.com> PR tree-optimization/46032 * tree-ssa-structalias.c (find_func_aliases_for_call_arg): New function, factored out of ... (find_func_aliases_for_call): ... here. (find_func_aliases_for_builtin_call, find_func_clobbers): Handle BUILT_IN_GOMP_PARALLEL. (ipa_pta_execute): Same. Handle node->parallelized_function as a local function. * gcc.dg/pr46032.c: New test. * testsuite/libgomp.c/pr46032.c: New test. From-SVN: r231076
2015-11-30re PR tree-optimization/68501 (sqrt builtin is not used anymore)Jakub Jelinek9-43/+123
PR tree-optimization/68501 * target.def (builtin_reciprocal): Replace the 3 arguments with a gcall * one, adjust description. * targhooks.h (default_builtin_reciprocal): Replace the 3 arguments with a gcall * one. * targhooks.c (default_builtin_reciprocal): Likewise. * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Use targetm.builtin_reciprocal even on internal functions, adjust the arguments and allow replacing an internal function with normal built-in. * config/i386/i386.c (ix86_builtin_reciprocal): Replace the 3 arguments with a gcall * one. Handle internal fns too. * config/rs6000/rs6000.c (rs6000_builtin_reciprocal): Likewise. * config/aarch64/aarch64.c (aarch64_builtin_reciprocal): Likewise. * doc/tm.texi (builtin_reciprocal): Document. From-SVN: r231075
2015-11-30re PR tree-optimization/68592 (ICE in vect_get_vec_def_for_operand, at ↵Richard Biener4-0/+38
tree-vect-stmts.c:1403 with -fprofile-generate) 2015-11-30 Richard Biener <rguenther@suse.de> PR tree-optimization/68592 * tree-vect-loop.c (vect_analyze_loop_2): Reset SLP type also on the pattern def sequence. * gfortran.dg/pr68592.f: New testcase. From-SVN: r231074
2015-11-30nvptx.c (nvptx_name_replacement): Move earlier.Nathan Sidwell2-138/+132
* config/nvptx/nvptx.c (nvptx_name_replacement): Move earlier. (write_one_arg): Reorder parms, add 'sep' param. (nvptx_write_function_decl): Rename to ... (write_fn_proto): ... here. Do name replacement. Emit linaer comment marker. Deal with both decls and defns. Simplify argument formatting. (write_function_decl_and_comment): Delete. (write_func_decl_from_insn): Rename to ... (write_fn_proto_from_insn): ... here. Don't do name replacement. (nvptx_record_fndecl): Call write_fn_proto. (nvptx_record_libfunc): Call write_fn_proto_from_insn. (nvptx_declare_function_name): Adjust for write_fn_proto changes. (nvotx_output_call_insn): Call write_fn_prot_from_insn. From-SVN: r231073
2015-11-30re PR fortran/68534 (No error on mismatch in number of arguments between ↵Paul Thomas4-6/+63
submodule and module interface) 2015-11-30 Paul Thomas <pault@gcc.gnu.org> PR fortran/68534 * decl.c (gfc_match_formal_arglist): Cope with zero formal args either in interface declaration or in procedure declaration in submodule. 2015-11-30 Paul Thomas <pault@gcc.gnu.org> PR fortran/68534 * gfortran.dg/submodule_13.f08: New test. From-SVN: r231072
2015-11-30S/390: Testsuite: Add asm scan patterns for -m31.Andreas Krebbel2-4/+12
gcc/testsuite/ChangeLog: 2015-11-30 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gcc.target/s390/load-relative-check.c: Add scan patterns for -m31. From-SVN: r231071
2015-11-30S/390: Testsuite: Add -mzarch to load-relative-check.c.Andreas Krebbel2-1/+5
2015-11-30 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gcc.target/s390/load-relative-check.c: Add -mzarch. From-SVN: r231070
2015-11-30c-ada-spec.c (print_ada_macros): Remove redundant blank line.Eric Botcazou5-263/+290
* c-ada-spec.c (print_ada_macros): Remove redundant blank line. (decl_sloc_common): Delete and move bulk of processing to... (decl_sloc): ...here. (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE. (dump_ada_double_name): Remove S parameter and compute the suffix. (dump_ada_array_type): Add PARENT parameter. Simplify computation of element type and deal with an anonymous one. (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro. (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type and remove reference to QUAL_UNION_TYPE. (dump_nested_types): Make 2 passes on the fields and move bulk to... (dump_nested_type): ...here. New function extracted from above. Generate a full declaration for anonymous element type of arrays. (print_ada_declaration): Really skip anonymous declarations. Remove references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type. Clean up processing of declarations of array types and objects. (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE. Remove obsolete code and tidy up. From-SVN: r231069
2015-11-30* gcc-interface/trans.c (gigi): Fix initialization order.Eric Botcazou2-9/+14
From-SVN: r231068
2015-11-30osint.adb: Add use type clause for CRTL.size_t.Eric Botcazou3-48/+52
* osint.adb: Add use type clause for CRTL.size_t. (C_String_Length): Return CRTL.size_t instead of Integer. (To_Path_String_Access): Take CRTL.size_t instead of Integer. (Get_Libraries_From_Registry): Use CRTL throughout. (To_Canonical_Dir_Spec): Use CRTL.size_t instead of Integer. (To_Canonical_File_List): Likewise. (To_Canonical_File_Spec): Likewise. (To_Canonical_Path_Spec): Likewise. (To_Host_Dir_Spec): Likewise. (To_Host_File_Spec): Likewise. (Update_Path): Use CRTL throughout. * s-shasto.adb: Add with clause for System.CRTL. (Initialize): Rename CRTL.strncpy instead of importing it manually. From-SVN: r231066
2015-11-30gigi.h (create_var_decl): Adjust prototype.Eric Botcazou5-152/+187
* gcc-interface/gigi.h (create_var_decl): Adjust prototype. (create_subprog_decl): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Rename static_p into static_flag and add volatile_flag local variable. Do not locally change the type of a volatile object, except for the pointed-to type if the object is handled by reference. Adjust calls to create_var_decl. <E_Subprogram_Type>: Likewise for const and noreturn subprograms. (get_minimal_subprog_decl): Adjust call to create_subprog_decl. (elaborate_expression_1): Adjust call to create_var_decl. (gnat_to_gnu_field): Minor tweak. * gcc-interface/trans.c (gigi): Adjust calls to create_var_decl and create_subprog_decl. (build_raise_check): Likewise. (Subprogram_Body_to_gnu): Likewise. (create_temporary): Likewise. (Handled_Sequence_Of_Statements_to_gnu): Likewise. (Exception_Handler_to_gnu_gcc): Likewise. (Compilation_Unit_to_gnu): Likewise. (gnat_to_gnu): Likewise. * gcc-interface/utils.c (maybe_pad_type): Likewise. (create_var_decl): Add VOLATILE_FLAG parameter and handle it. (create_subprog_decl): Add CONST_FLAG and VOLATILE_FLAG parameters and handle them. From-SVN: r231065
2015-11-30gigi.h (is_simple_additive_expression): Declare.Eric Botcazou5-34/+136
* gcc-interface/gigi.h (is_simple_additive_expression): Declare. * gcc-interface/trans.c (struct range_check_info_d): Add DISP and NEG_P fields. (find_loop_for): Add DISP and NEG_P parameters with default value. Call is_simple_additive_expression to handle additive expressions. (Loop_Statement_to_gnu): Deal with displacement in range checks. (Raise_Error_to_gnu): Likewise. (gnat_to_gnu): Add call to find_loop_for. (is_simple_additive_expression): New function extracted from... (gnat_invariant_expr): ...here. Call it on the expression. From-SVN: r231064
2015-11-30* gcc-interface/utils2.c (gnat_invariant_expr): Add type conversions.Eric Botcazou5-1/+34
From-SVN: r231063
2015-11-30ada-tree.h (TYPE_MAX_ALIGN): New macro.Eric Botcazou7-66/+150
* gcc-interface/ada-tree.h (TYPE_MAX_ALIGN): New macro. * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set PACKED to -2. Remove obsolete code setting the alignment on some atomic types. When the type has no alignment but needs strict alignment and has a size clause, compute a maximum alignment and set it on the type. (adjust_packed): Remove handling of -2 argument. Deal with TYPE_ALIGN and TYPE_MAX_ALIGN directly. (gnat_to_gnu_field): Do not document -2 as argument. (components_to_record): Likewise. * gcc-interface/utils.c (finish_record_type): Do not bump alignment of the record type beyond TYPE_MAX_ALIGN. Reset the latter on exit. * gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): Move around. (GNATLIBCFLAGS_FOR_C): Reformat. (GCC_CFLAGS): Delete. From-SVN: r231062
2015-11-30[AVX-512] Enable QI-mode mask logic patterns on non-AVX-512DQ targets.Kirill Yukhin2-3/+11
gcc/ * config/i386/i386.md (define_mode_iterator SWI1248_AVX512BW): New. (define_insn "*k<logic><mode>"): Use new iterator. From-SVN: r231061
2015-11-30re PR target/28115 (possible bug in recog_memoized usage in rs6000.c??)Eric Botcazou2-3/+9
PR target/28115 * config/sparc/sparc.c (supersparc_adjust_cost): Fix thinko. (sparc_adjust_cost): Add missing space. From-SVN: r231059
2015-11-30re PR c/68162 (Incompatible pointer type using a typedef)Richard Biener2-2/+9
2015-11-30 Richard Biener <rguenther@suse.de> PR c/68162 * dwarf2out.c (gen_type_die_with_usage): Keep variant types of arrays. From-SVN: r231058
2015-11-30tree-if-conv.c (struct ifc_dr): Add new tree base_predicate field.Venkataramanan Kumar2-16/+31
2015-11-30 Venkataramanan Kumar <Venkataramanan.Kumar@amd.com> * tree-if-conv.c (struct ifc_dr): Add new tree base_predicate field. (hash_memrefs_baserefs_and_store_DRs_read_written_info): Hash base ref, DR pairs and store base_predicate for write type DRs. (ifcvt_memrefs_wont_trap): Guard checks with -ftree-loop-if-convert-stores flag. From-SVN: r231057
2015-11-30Daily bump.GCC Administrator1-1/+1
From-SVN: r231056
2015-11-29re PR ada/68564 (Ada fails to bootstrap on sparc64-linux-gnu)Matthias Klose2-47/+11
2015-11-29 Matthias Klose <doko@ubuntu.com> PR ada/68564 * gcc-interface/Makefile.in: Fix powerpc/powerpc64* and mipsel/mips64el bitness detection. Merge the mipsel/mips64el definitions into one. From-SVN: r231051
2015-11-29cgraph.c (cgraph_node::make_local): No name is unique during incremental ↵Jan Hubicka6-27/+58
linking. * cgraph.c (cgraph_node::make_local): No name is unique during incremental linking. * cgraph.h (can_be_discarded_p): Update comment; also common and WEAK in named sections can be discarded; when doing incremental link do not rely on resolution being the final one. * varasm.c (default_binds_local_p_3, decl_binds_to_current_def_p): When symbol can be discarded, do not rely on resolution info. * symtab.c (symtab_node::nonzero_address): Take into account that symbol can be discarded. * ipa-visibility.c (update_visibility_by_resolution_info): Handle definition correctly. (function_and_variable_visibility): Do not set unique_name when incrementally linking. From-SVN: r231050
2015-11-29re PR c/67106 (ICE: verify_type failed: type variant differs by ↵Jan Hubicka4-1/+24
TYPE_PACKED. with -g -fpack-struct) PR c/67106 * gcc.c-torture/compile/pr67106.c: New testcase. * c-decl.c: Set TYPE_PACKED in variants. From-SVN: r231049
2015-11-29re PR c++/67581 (ICE on transparent union with -g enabled on ↵Jan Hubicka4-1/+19
x86_64-linux-gnu (verify_type failed)) PR c/67581 * g++.dg/torture/pr67581.C: New testcase. * c-family/c-common.c (handle_transparent_union_attribute): Update also type variants. From-SVN: r231048
2015-11-29nvptx.md (const_0_operand, [...]): Delete.Nathan Sidwell2-23/+9
* config/nvptx/nvptx.md (const_0_operand, global_mem_operand, const_mem_operand, param_mem_operand, shared_mem_operand): Delete. (ctrap<mode>): Use const0_operand. From-SVN: r231047
2015-11-29ipa-devirt.c (add_type_duplicate): Remove redundant ODR violation dumpJan Hubicka2-9/+5
* ipa-devirt.c (add_type_duplicate): Remove redundant ODR violation dump From-SVN: r231046
2015-11-29re PR target/28115 (possible bug in recog_memoized usage in rs6000.c??)David Edelsohn2-2/+8
PR target/28115 * config/rs6000/rs6000.c (rs6000_adjust_cost): Correct recog_memoized test for insn and check recog_memoized for dep_insn. From-SVN: r231045
2015-11-29Daily bump.GCC Administrator1-1/+1
From-SVN: r231042
2015-11-28Add to correct changelogNathan Sidwell1-0/+7
From-SVN: r231039
2015-11-28nvptx.h (FIRST_PARM_OFFSET): Add void cast.Nathan Sidwell1-4/+6
* config/nvptx/nvptx.h (FIRST_PARM_OFFSET): Add void cast. (FRAME_POINTER_CFA_OFFSET): Define. (struct nvptx_args): Use 'tree' type. (INIT_CUMULATIVE_ARGS): Remove unnecessary do...while. From-SVN: r231038
2015-11-28Handle flinker-output in lto-wrapperTom de Vries2-1/+8
2015-11-28 Tom de Vries <tom@codesourcery.com> * lto-wrapper.c (run_gcc): Handle -flinker-output argument. From-SVN: r231033
2015-11-28re PR ada/68564 (Ada fails to bootstrap on sparc64-linux-gnu)Matthias Klose2-1/+6
2015-11-28 Matthias Klose <doko@ubuntu.com> PR ada/68564 * gcc-interface/Makefile.in: Fix sparc/sparc64 bitness detection. From-SVN: r231028
2015-11-28Daily bump.GCC Administrator1-1/+1
From-SVN: r231027
2015-11-27Copy-edit the Option Summary in invoke.texiJonathan Wakely2-17/+21
* doc/invoke.texi (Option Summary): Use negative form of -Waggressive-loop-optimizations, remove redundant -Wpedantic-ms-format, sort alphabetically and re-justify. From-SVN: r231022
2015-11-27re PR rtl-optimization/68536 (LRA ICEs with new arm pattern)Vladimir Makarov3-7/+27
2015-11-27 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/68536 * lra.c (lra_emit_add): Add code for null base. * lra-constraints.c (curr_insn_transform): Skip operators for subreg reloads. From-SVN: r231021
2015-11-27Fix FAIL: gcc.c-torture/execute/20050124-1.c -O2 (internal compiler error)Kyrylo Tkachov2-3/+12
Revert 2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * ifcvt.c (insn_valid_noce_process_p): Reject insn if it satisfies multiple_sets. (noce_try_cmove_arith): Add checking asserts that orig_a and orig_b are not modified by the final modified insns in the basic blocks. From-SVN: r231019
2015-11-27nvptx-protos.h (nvptx_addr_space_from_address): Don't declare.Nathan Sidwell3-38/+55
* config/nvptx/nvptx-protos.h (nvptx_addr_space_from_address): Don't declare. * config/nvptx/nvptx.c (nvptx_addr_space_from_sym): New. (nvptx_maybe_convert_symbolic_operand): Simplify. (nvptx_addr_space_from_address): Delete. (nvptx_print_operand): Adjust 'A' case. From-SVN: r231016
2015-11-27re PR tree-optimization/68559 (Excessive peeling for gaps)Richard Biener7-62/+59
2015-11-27 Richard Biener <rguenther@suse.de> PR tree-optimization/68559 * tree-vect-data-refs.c (vect_analyze_group_access_1): Move peeling for gap checks ... * tree-vect-stmts.c (vectorizable_load): ... here and relax for SLP. * tree-vect-loop.c (vect_analyze_loop_2): Re-set LOOP_VINFO_PEELING_FOR_GAPS before re-trying without SLP. * gcc.dg/vect/slp-perm-4.c: Adjust again. * gcc.dg/vect/pr45752.c: Likewise. From-SVN: r231015
2015-11-27nvptx-protos.h (nvptx_record_needed_decl): Don't declaree.Nathan Sidwell4-142/+150
* config/nvptx/nvptx-protos.h (nvptx_record_needed_decl): Don't declaree. * config/nvptx/nvptx.c (write_func_decl_from_insn): Move earlier. (nvptx_record_fndecl): Don't return value, remove force argyment. Require fndecl. (nvptx_record_libfunc): New. (nvptx_record_needed_decl): Deteermine how to record decl here. (nvptx_maybe_record_fnsym): New. (nvptx_expand_call): Don't record libfuncs here, (nvptx_maybe_convert_symbolic_operand): Use nvptx_maye_record_fnsym. (nvptx_assemble_integer): Reimplement with single switch. (nvptx_output_call_insn): Register libfuncs here. (nvptx_file_end): Adjust nvptx_record_fndecl call. * config/nvptx/nvptx.md (expand_movdi): Don't call nvptx_record_needed_decl. From-SVN: r231013
2015-11-27re PR rtl-optimization/68250 (wrong code at -O2 and -O3 on x86_64-linux-gnu ↵Jakub Jelinek2-0/+45
(in 64-bit mode)) PR rtl-optimization/68250 * gcc.c-torture/execute/pr68250.c: New test. From-SVN: r231009
2015-11-27* gcc.dg/pr63568.c: Convert to GIMPLE.Marek Polacek2-10/+30
From-SVN: r231007
2015-11-27re PR tree-optimization/68553 (gcc.dg/vect/pr68445.c FAILs)Richard Biener2-12/+35
2015-11-27 Richard Biener <rguenther@suse.de> PR tree-optimization/68553 * tree-vect-slp.c (vect_create_mask_and_perm): Skip VEC_PERM_EXPR generation for 1:1 permutations. (vect_transform_slp_perm_load): Detect 1:1 permutations. From-SVN: r231006
2015-11-27Be more careful about barriers when speculating conditional stores.Bernd Schmidt4-1/+24
* gimple.h (nonbarrier_call_p): Declare. * gimple.c (nonbarrier_call_p): New function. * tree-ssa-phiopt.c (nontrapping_dom_walker::before_dom_children): Also increment call phase for ASMs with vdef and potential barrier calls. From-SVN: r231005
2015-11-27[RTL-ifcvt] Reject insns that are multiple_setsKyrylo Tkachov2-2/+10
* ifcvt.c (insn_valid_noce_process_p): Reject insn if it satisfies multiple_sets. (noce_try_cmove_arith): Add checking asserts that orig_a and orig_b are not modified by the final modified insns in the basic blocks. From-SVN: r231004
2015-11-27[RTL-ifcvt] PR rtl-optimization/68506: Fix emitting order of insns in ↵Kyrylo Tkachov4-31/+104
IF-THEN-JOIN case PR rtl-optimization/68506 * ifcvt.c (noce_try_cmove_arith): Try emitting the else basic block first if emit_a exists or then_bb modifies 'b'. Reindent if-else blocks. * gcc.c-torture/execute/pr68506.c: New test. From-SVN: r231003
2015-11-27Fix memory leak in cilkMartin Liska9-52/+92
PR c++/68312 * c-array-notation.c (fix_builtin_array_notation_fn): Use release_vec_vec instead of vec::release. (build_array_notation_expr): Likewise. (fix_conditional_array_notations_1): Likewise. (fix_array_notation_expr): Likewise. (fix_array_notation_call_expr): Likewise. PR c++/68312 * cp-array-notation.c (expand_sec_reduce_builtin): Likewise. (create_array_refs): Replace argument with const reference. (expand_an_in_modify_expr): Likewise. (cp_expand_cond_array_notations): Likewise. (expand_unary_array_notation_exprs): Likewise. PR c++/68312 * array-notation-common.c (cilkplus_extract_an_triplets): Release vector of vectors. * cilk.c (gimplify_cilk_spawn): Free allocated memory. PR c++/68312 * vec.h (release_vec_vec): New function. From-SVN: r231001
2015-11-27re PR tree-optimization/68552 (ICE in in expand_expr_real_2 with -O2 ↵Jakub Jelinek2-11/+45
-ftree-vectorize) PR tree-optimization/68552 * optabs.c (expand_vec_perm_1): Move vec_shr handling from here... (expand_vec_perm): ... here. Do it regardless of vec_perm_const_optab or whether v0 == v1. From-SVN: r231000
2015-11-27re PR c/63326 (whether a #pragma is a statement depends on the type of pragma)Jakub Jelinek7-6/+510
PR c/63326 * c-parser.c (c_parser_compound_statement_nostart): If last_label is true, use pragma_stmt instead of pragma_compound as second c_parser_pragma argument. (c_parser_omp_ordered, c_parser_omp_target_update, c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): Pass false as second argument to c_parser_skip_to_pragma_eol after diagnosing standalone directives used in pragma_stmt context. * parser.c (cp_parser_statement): Clear in_compound after labels. * gcc.dg/gomp/barrier-2.c (f2): Expect another error after label. * c-c++-common/gomp/pr63326.c: New test. * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon in between case label and OpenMP standalone directives. * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise. From-SVN: r230999
2015-11-27Replace spaces with tabs and remove trailing whitespacesMartin Liska2-502/+507
* tree-ssa-uninit.c: Fix whitespaces in the source file. The change is just automatical. From-SVN: r230998
2015-11-27Fix memory leak in tree-chkp.cMartin Liska2-0/+7
* tree-chkp.c (chkp_make_static_bounds): Release buffer used for string. From-SVN: r230997
2015-11-27Fix parser memory leak in cilk_simd_fn_infoMartin Liska2-0/+7
* parser.c (cp_parser_late_parsing_cilk_simd_fn_info): Release tokens. From-SVN: r230996