aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2015-11-12mmx-1.c: Adjust for unified asm.Christian Bruel2-1/+5
2015-11-12 Christian Bruel <christian.bruel@st.com> * gcc.target/arm/mmx-1.c: Adjust for unified asm. From-SVN: r230223
2015-11-12[PATCH][ARM]Fix addsi3_compare_op2 pattern.Renlin Li2-2/+7
gcc/ 2015-11-12 Renlin Li <renlin.li@arm.com> * config/arm/arm.md (addsi3_compare_op2): Make the order of assembly pattern consistent with constraint order. From-SVN: r230222
2015-11-12gen-pass-instances.awk: Simplify match regexp in handle_lineTom de Vries2-1/+5
2015-11-12 Tom de Vries <tom@codesourcery.com> * gen-pass-instances.awk (handle_line): Simplify match regexp. From-SVN: r230220
2015-11-12gen-pass-instances.awk: Simplify init of postfix_starts_at in handle_lineTom de Vries2-1/+6
2015-11-12 Tom de Vries <tom@codesourcery.com> * gen-pass-instances.awk (handle_line): Simplify init of postfix_starts_at. From-SVN: r230219
2015-11-12gen-pass-instances.awk: Rename var where to call_starts_at in handle_lineTom de Vries2-3/+8
2015-11-12 Tom de Vries <tom@codesourcery.com> * gen-pass-instances.awk (handle_line): Rename var where to call_starts_at. From-SVN: r230218
2015-11-12arc.c (gen_compare_reg): Swap operands also when we do not expand to rtl.Claudiu Zissulescu2-3/+18
2015-11-11 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (gen_compare_reg): Swap operands also when we do not expand to rtl. From-SVN: r230217
2015-11-12re PR tree-optimization/58497 (SLP vectorizes identical operations)Richard Biener2-1/+18
2015-11-12 Richard Biener <rguenther@suse.de> PR tree-optimization/58497 * tree-vect-generic.c: Include gimplify.h. (tree_vec_extract): Lookup constant/constructor DEFs. (do_cond): Unshare cond. From-SVN: r230216
2015-11-12i386.c (ix86_legitimate_combined_insn): Reject combined insn if the ↵Uros Bizjak4-11/+25
alignment of vector mode memory operand is less... * config/i386/i386.c (ix86_legitimate_combined_insn): Reject combined insn if the alignment of vector mode memory operand is less than ssememalign. testsuite/ChangeLog: * gcc.target/i386/sse-1.c (swizzle): Assume that a is aligned to 64 bits. From-SVN: r230215
2015-11-12gen-pass-instances.awk: Make print command clearer in handle_lineTom de Vries2-5/+13
2015-11-12 Tom de Vries <tom@codesourcery.com> * gen-pass-instances.awk (handle_line): Print parentheses and pass_name explicitly. From-SVN: r230213
2015-11-12gen-pass-instances.awk: Add pass_num, prefix and postfix vars in handle_lineTom de Vries2-4/+14
2015-11-12 Tom de Vries <tom@codesourcery.com> * gen-pass-instances.awk (handle_line): Add pass_num, prefix and postfix vars. From-SVN: r230212
2015-11-12gen-pass-instances.awk: Add comments in handle_lineTom de Vries2-0/+9
2015-11-12 Tom de Vries <tom@codesourcery.com> * gen-pass-instances.awk (handle_line): Add comments. From-SVN: r230211
2015-11-12gen-pass-instances.awk: Rename len_of_end to len_of_close in handle_lineTom de Vries2-2/+8
2015-11-12 Tom de Vries <tom@codesourcery.com> * gen-pass-instances.awk (handle_line): Rename len_of_end to len_of_close. From-SVN: r230210
2015-11-12gen-pass-instances.awk: Add len_of_call var in handle_lineTom de Vries2-1/+9
2015-11-12 Tom de Vries <tom@codesourcery.com> * gen-pass-instances.awk (handle_line): Add len_of_call variable. From-SVN: r230209
2015-11-12gen-pass-instances.awk: Use early-out in handle_lineTom de Vries2-15/+21
2015-11-12 Tom de Vries <tom@codesourcery.com> * gen-pass-instances.awk (handle_line): Restructure using early-out. From-SVN: r230208
2015-11-12gen-pass-instances.awk: Unify semicolon use in handle_lineTom de Vries2-6/+10
2015-11-12 Tom de Vries <tom@codesourcery.com> * gen-pass-instances.awk (handle_line): Unify semicolon use. From-SVN: r230207
2015-11-12gen-pass-instances.awk: Remove unused var in handle_lineTom de Vries2-1/+4
2015-11-12 Tom de Vries <tom@codesourcery.com> * gen-pass-instances.awk (handle_line): Remove unused var line_length. From-SVN: r230206
2015-11-12gen-pass-instances.awk: Add emacs indent settingTom de Vries2-0/+9
2015-11-12 Tom de Vries <tom@codesourcery.com> * gen-pass-instances.awk: Add emacs indent setting. From-SVN: r230205
2015-11-12fold-const.c (fold_binary_loc): Move Convert A/B/C to A/(B*C) to match.pd.Naveen H.S3-45/+46
2015-11-12 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> * fold-const.c (fold_binary_loc) : Move Convert A/B/C to A/(B*C) to match.pd. Move Convert A/(B/C) to (A/B)*C to match.pd. Move Convert C1/(X*C2) into (C1/C2)/X to match.pd. Move Optimize (X & (-A)) / A where A is a power of 2, to X >> log2(A) to match.pd. * match.pd (rdiv (rdiv:s @0 @1) @2): New simplifier. (rdiv @0 (rdiv:s @1 @2)): New simplifier. (div (convert? (bit_and @0 INTEGER_CST@1)) INTEGER_CST@2): New simplifier. (rdiv REAL_CST@0 (mult @1 REAL_CST@2)): New simplifier. From-SVN: r230204
2015-11-12[ARM] remove unused variableCharles Baylis2-6/+10
gcc/Changelog 2015-11-12 Charles Baylis <charles.baylis@linaro.org> * config/arm/neon.md: (neon_vld2_lane<mode>): Remove unused max variable. (neon_vst2_lane<mode>): Likewise. (neon_vld3_lane<mode>): Likewise. (neon_vst3_lane<mode>): Likewise. (neon_vld4_lane<mode>): Likewise. (neon_vst4_lane<mode>): Likewise. From-SVN: r230203
2015-11-11decl.c (duplicate_decls): When combining typedefs, remove the new type from ↵Jason Merrill2-1/+21
the variants list. * decl.c (duplicate_decls): When combining typedefs, remove the new type from the variants list. From-SVN: r230202
2015-11-11pt.c (instantiate_class_template_1): Set function_depth around instantiation ↵Jason Merrill2-1/+11
of lambda op(). * pt.c (instantiate_class_template_1): Set function_depth around instantiation of lambda op(). From-SVN: r230201
2015-11-12Preserve the original program while using graphite.Aditya Kumar9-950/+1953
Earlier, graphite used to translate portions of the original program after scop-detection in order to represent the SCoP into polyhedral model. This was required because each basic block was represented as independent basic block in the polyhedral model. So all the cross-basic-block dependencies were translated out-of-ssa. With this patch those dependencies are also exposed to the ISL, so there is no need to modify the original structure of the program. After this patch we should be able to enable graphite at some default optimization level. Highlights: Remove cross bb scalar to array translation For reductions, add support for more than just INT_CST Early bailout on codegen. Verify loop-closed ssa structure during copy of renames The uses of exprs should come from bb which dominates the bb Collect the init value of close phi in loop-guard Do not follow vuses for close-phi, postpone loop-close phi until the corresponding loop-phi is processed Bail out if no bb found to place cond/loop -phis Move insertion of liveouts at the end of codegen Insert loop-phis in the loop-header. This patch passes regtest and bootstrap with BOOT_CFLAGS='-O2 -fgraphite-identity -floop-nest-optimize' 2015-11-11 Aditya Kumar <aditya.k7@samsung.com> Sebastian Pop <s.pop@samsung.com> * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple): New member codegen_error (translate_isl_ast_for_loop): Remove call to single_succ_edge and early return. (translate_isl_ast_node_user): Early return in case of error. (translate_isl_ast_to_gimple::translate_isl_ast): Same. (translate_isl_ast_to_gimple::translate_pending_phi_nodes): New. (add_parameters_to_ivs_params): Remove macro. (graphite_regenerate_ast_isl): Add if_region pointer to region. * graphite-poly.c (new_poly_dr): Remove macro. (print_pdr): Same. (new_gimple_poly_bb): Same. (free_gimple_poly_bb): Same. (print_scop_params): Same. * graphite-poly.h (struct poly_dr): Same. (struct poly_bb): Add new_bb. (gbb_from_bb): Remove dead code. (pbb_from_bb): Same. * graphite-scop-detection.c (parameter_index_in_region_1): Same. (parameter_index_in_region): Same. (find_scop_parameters): Same. (build_cross_bb_scalars_def): New. (build_cross_bb_scalars_use): New. (graphite_find_cross_bb_scalar_vars): New (try_generate_gimple_bb): Reads and Writes. (build_alias_set): Move. (gather_bbs::before_dom_children): Gather bbs visited. (build_scops): call build_alias_set. * graphite-sese-to-poly.c (phi_arg_in_outermost_loop): Delete. (remove_simple_copy_phi): Delete. (remove_invariant_phi): Delete. (simple_copy_phi_p): Delete. (reduction_phi_p): Delete. (isl_id_for_dr): Remove unused param. (parameter_index_in_region_1): Remove macro usage. (set_scop_parameter_dim): Same. (add_param_constraints): Same. (add_conditions_to_constraints): Same (build_scop_iteration_domain): Same. (pdr_add_alias_set): Comment. (add_scalar_version_numbers): New. (build_poly_dr): ISL id. (build_scop_drs): Move. (build_poly_sr_1): Same. (insert_stmts): Remove. (build_poly_sr): New. (new_pbb_from_pbb): Delete. (insert_out_of_ssa_copy_on_edge): Delete. (create_zero_dim_array): Delete. (scalar_close_phi_node_p): Delete. (propagate_expr_outside_region): Delete. (rewrite_close_phi_out_of_ssa): Delete. (rewrite_phi_out_of_ssa): Delete. (rewrite_degenerate_phi): Delete. (rewrite_reductions_out_of_ssa): Delete. (rewrite_cross_bb_scalar_dependence): Delete. (handle_scalar_deps_crossing_scop_limits): (rewrite_cross_bb_scalar_deps): Delete. (build_poly_scop): Remove calls to out-of-ssa functions. * graphite.c (graphite_transform_loops): Early return in case of codegen error. * sese.c (debug_rename_map_1): Delete. (debug_rename_map): Delete. (sese_record_loop): Remove macro. (build_sese_loop_nests): Same. (new_sese_info): Same. (free_sese_info): Same. (sese_insert_phis_for_liveouts): (is_loop_closed_ssa_use): New. (number_of_phi_nodes): New. (bb_contains_loop_close_phi_nodes): New. (bb_contains_loop_phi_nodes): New. (phi_uses_name): New. (is_valid_rename): (get_rename): Add old_bb and loop_phi for more precise matching of exprs. (set_rename): Pass region. (later_of_the_two): New. (gsi_insert_earliest): New. (collect_all_ssa_names): New. (substitute_ssa_name): New. (rename_all_uses): New. (get_rename_from_scev): New. (rename_uses): Pass old_bb for more precise matching of exprs. (get_def_bb_for_const): New. (get_new_name): New. (get_loc): New. (get_edges): New. (copy_loop_phi_args): New. (copy_loop_phi_nodes): New. (get_loop_init_value): New. (find_init_value): New. (find_init_value_close_phi): New. (copy_loop_close_phi_args): New. (copy_loop_close_phi_nodes): New. (add_phi_arg_for_new_expr): New. (copy_cond_phi_args): New. (copy_cond_phi_nodes): New. (copy_phi_nodes): New. (should_copy_to_new_region): New. (set_rename_for_each_def): New. (graphite_copy_stmts_from_block): Early return in case of error. (copy_bb_and_scalar_dependences): Same. * sese.h (vec_find): New. (SESE_PARAMS): Delete. (SESE_LOOPS): Delete. (SESE_LOOP_NEST): Delete. (sese_contains_loop): Remove macro usage. (sese_nb_params): Same. (struct gimple_poly_bb): Added read_scalar_refs, write_scalar_refs. Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r230200
2015-11-12Daily bump.GCC Administrator1-1/+1
From-SVN: r230199
2015-11-11* gcc.dg/pr65521.c: Fail on AIX.David Edelsohn2-0/+5
From-SVN: r230195
2015-11-11improve construction of the original scheduleAbderrazek Zaafrani2-16/+16
The patch builds the original schedule based on the now optimized scattering dimension instead of building one based on the loop index only. The implementation is simpler and catches more cases where the original schedule and the transformed schedule are the same, such as the one below: for (i = 0; i < 1000; i++) { Temp = F[i]; for (j = 0; j < 1000; j++) { D[j] = E[j] * Temp; A[i][j] = A[i][j] + B[i][j] * C[i][j] - D[j] ; } D[i] = E[i] * F[i]; } * graphite-sese-to-poly.c (build_scop_original_schedule): Call isl_union_map_add_map on every pbb->schedule. From-SVN: r230191
2015-11-11add testsuite automatic dg-options and dg-do action for isl-ast-gen-* and ↵Sebastian Pop15-59/+29
fuse-* files * gcc.dg/graphite/fuse-1.c: Adjust pattern. Remove dg-do. * gcc.dg/graphite/fuse-2.c: Same. * gcc.dg/graphite/graphite.exp (opt_files): Add fuse-*.c and isl-ast-gen-*.c files. * gcc.dg/graphite/isl-ast-gen-blocks-1.c: Remove dg-do and dg-options. * gcc.dg/graphite/isl-ast-gen-blocks-2.c: Same. * gcc.dg/graphite/isl-ast-gen-blocks-3.c: Same. * gcc.dg/graphite/isl-ast-gen-blocks-4.c: Same. * gcc.dg/graphite/isl-ast-gen-if-1.c: Same. * gcc.dg/graphite/isl-ast-gen-if-2.c: Same. * gcc.dg/graphite/isl-ast-gen-single-loop-1.c: Same. * gcc.dg/graphite/isl-ast-gen-single-loop-2.c: Same. * gcc.dg/graphite/isl-ast-gen-single-loop-3.c: Same. * gcc.dg/graphite/isl-ast-gen-user-1.c: Same. * gcc.dg/graphite/isl-codegen-loop-dumping.c: Remove. From-SVN: r230190
2015-11-11Make create_parallel_loop return voidTom de Vries2-5/+6
2015-11-11 Tom de Vries <tom@codesourcery.com> * tree-parloops.c (create_parallel_loop): Return void. From-SVN: r230189
2015-11-11Insert new exit block only when needed in transform_to_exit_first_loop_altTom de Vries2-14/+33
2015-11-11 Tom de Vries <tom@codesourcery.com> * tree-parloops.c (transform_to_exit_first_loop_alt): Insert new exit block only when needed. From-SVN: r230188
2015-11-11alpha-protos.h (print_operand): Remove.Uros Bizjak4-42/+47
* config/alpha/alpha-protos.h (print_operand): Remove. (print_operand_address): Remove. * config/alpha/alpha.h (PRINT_OPERAND): Remove. (PRINT_OPERAND_ADDRESS): Remove. (PRINT_OPERAND_PUNCT_VALID_P): Remove. * config/alpha/alpha.c (TARGET_PRINT_OPERAND): New hook define. (TARGET_PRINT_OPERAND_ADDRESS): New hook define. (TARGET_PRINT_OPERAND_PUNCT_VALID_P): New hook define. (print_operand_address): Rename to... (alpha_print_operand_address): ...this and make static. (print_operand): Rename to... (alpha_print_operand): ...this and make static. (alpha_print_operand_punct_valid_p): New static function. From-SVN: r230181
2015-11-11re PR c/68107 (Non-VLA type whose size is half or more of the address space ↵Marek Polacek11-151/+219
constructed via a pointer) PR c/68107 PR c++/68266 * c-common.c (valid_array_size_p): New function. * c-common.h (valid_array_size_p): Declare. * c-decl.c (grokdeclarator): Call valid_array_size_p. Remove code checking the size of an array. * decl.c (grokdeclarator): Call valid_array_size_p. Remove code checking the size of an array. * c-c++-common/pr68107.c: New test. * g++.dg/init/new38.C (large_array_char): Adjust dg-error. (large_array_char_template): Likewise. * g++.dg/init/new44.C: Adjust dg-error. From-SVN: r230174
2015-11-11tree-vectorizer.h (vect_slp_analyze_and_verify_instance_alignment): Declare.Richard Biener4-153/+225
2015-11-11 Richard Biener <rguenther@suse.de> * tree-vectorizer.h (vect_slp_analyze_and_verify_instance_alignment): Declare. (vect_analyze_data_refs_alignment): Make loop vect specific. (vect_verify_datarefs_alignment): Likewise. * tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependences): Add missing continue. (vect_compute_data_ref_alignment): Export. (vect_compute_data_refs_alignment): Merge into... (vect_analyze_data_refs_alignment): ... this. (verify_data_ref_alignment): Split out from ... (vect_verify_datarefs_alignment): ... here. (vect_slp_analyze_and_verify_node_alignment): New function. (vect_slp_analyze_and_verify_instance_alignment): Likewise. * tree-vect-slp.c (vect_supported_load_permutation_p): Remove misplaced checks on alignment. (vect_slp_analyze_bb_1): Add fatal output parameter. Do alignment analysis after SLP discovery and do it per instance. (vect_slp_bb): When vect_slp_analyze_bb_1 fatally failed do not bother to re-try using different vector sizes. From-SVN: r230173
2015-11-11re PR bootstrap/68271 (Boostrap fails on x86_64-apple-darwin14 at r230084)Dominique d'Humieres4-4/+14
gcc/cp/ChangeLog 2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr> PR bootstrap/68271 * parser.h (cp_token): Update pragma_kind to 8. gcc/c-family/ChangeLog 2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr> PR bootstrap/68271 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256. From-SVN: r230172
2015-11-11re PR target/67265 ([x86] 'asm' operand has impossible constraints with ↵Eric Botcazou1-1/+5
-fstack-check) PR target/67265 * config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise. From-SVN: r230170
2015-11-11gimplify.c (enum omp_region_type): Add ORT_ACC, ORT_ACC_DATA, ↵Nathan Sidwell6-68/+201
ORT_ACC_PARALLEL, ORT_ACC_KERNELS. gcc/ * gcc/gimplify.c (enum omp_region_type): Add ORT_ACC, ORT_ACC_DATA, ORT_ACC_PARALLEL, ORT_ACC_KERNELS. Adjust ORT_NONE. (gimple_add_tmp_var): Add ORT_ACC checks. (gimplify_var_or_parm_decl): Likewise. (omp_firstprivatize_variable): Likewise. Use ORT_TARGET_DATA as a mask. (omp_add_variable): Look in outer contexts for openacc and allow reductions with other sharing. Add ORT_ACC and ORT_TARGET_DATA checks. (omp_notice_variable, omp_is_private, omp_check_private): Add ORT_ACC checks. (gimplify_scan_omp_clauses: Treat ORT_ACC as ORT_WORKSHARE. Permit private openacc reductions. (gimplify_oacc_cache): Specify ORT_ACC. (gimplify_omp_workshare): Adjust OpenACC region types. (gimplify_omp_target_update): Likewise. * gcc/omp-low.c (scan_sharing_clauses): Remove Openacc firstprivate sorry. (lower-rec_input_clauses): Don't handle openacc firstprivate references here. (lower_omp_target): Emit initializers for openacc firstprivate vars. gcc/testsuite/ * gfortran.dg/goacc/private-3.f95: Remove xfail. * gfortran.dg/goacc/combined_loop.f90: Remove xfail. libgomp/ * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Remove xfail. * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Remove xfail. * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New. * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New. Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com> From-SVN: r230169
2015-11-11re PR target/67265 ([x86] 'asm' operand has impossible constraints with ↵Eric Botcazou4-7/+32
-fstack-check) PR target/67265 * ira.c (ira_setup_eliminable_regset): Do not necessarily create the frame pointer for stack checking if non-call exceptions aren't used. * config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise. From-SVN: r230168
2015-11-11rs6000: Extend 20050603-3.c testcase to 64-bitSegher Boessenkool2-4/+13
The testcase used to fail on 64-bit, but it was disabled there. This patch makes it run there, and beefs up the checking of the generated code a bit. gcc/testsuite/ * gcc.target/powerpc/20050603-3.c: Don't restrict to ilp32. Do more tests for the expected generated code. From-SVN: r230167
2015-11-11decl.c: Remove unused header files.Andrew MacLeod151-571/+174
ada * gcc-interface/decl.c: Remove unused header files. * gcc-interface/misc.c: Likewise. * gcc-interface/targtyps.c: Likewise. * gcc-interface/trans.c: Likewise. * gcc-interface/utils.c: Likewise. c * c-array-notation.c: Remove unused header files. * c-aux-info.c: Likewise. * c-convert.c: Likewise. * c-decl.c: Likewise. * c-errors.c: Likewise. * c-lang.c: Likewise. * c-objc-common.c: Likewise. * c-parser.c: Likewise. * c-typeck.c: Likewise. * gccspec.c: Likewise. c-family * array-notation-common.c: Remove unused header files. * c-ada-spec.c: Likewise. * c-cilkplus.c: Likewise. * c-common.c: Likewise. * c-cppbuiltin.c: Likewise. * c-dump.c: Likewise. * c-format.c: Likewise. * c-gimplify.c: Likewise. * c-indentation.c: Likewise. * c-lex.c: Likewise. * c-omp.c: Likewise. * c-opts.c: Likewise. * c-pch.c: Likewise. * c-ppoutput.c: Likewise. * c-pragma.c: Likewise. * c-pretty-print.c: Likewise. * c-semantics.c: Likewise. * c-ubsan.c: Likewise. * cilk.c: Likewise. * stub-objc.c: Likewise. cp * call.c: Remove unused header files. * class.c: Likewise. * constexpr.c: Likewise. * cp-array-notation.c: Likewise. * cp-cilkplus.c: Likewise. * cp-gimplify.c: Likewise. * cp-lang.c: Likewise. * cp-objcp-common.c: Likewise. * cp-ubsan.c: Likewise. * cvt.c: Likewise. * cxx-pretty-print.c: Likewise. * decl.c: Likewise. * decl2.c: Likewise. * dump.c: Likewise. * error.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * friend.c: Likewise. * g++spec.c: Likewise. * init.c: Likewise. * lambda.c: Likewise. * lex.c: Likewise. * mangle.c: Likewise. * method.c: Likewise. * name-lookup.c: Likewise. * optimize.c: Likewise. * parser.c: Likewise. * pt.c: Likewise. * ptree.c: Likewise. * repo.c: Likewise. * rtti.c: Likewise. * search.c: Likewise. * semantics.c: Likewise. * tree.c: Likewise. * typeck.c: Likewise. * typeck2.c: Likewise. * vtable-class-hierarchy.c: Likewise. Fortran * array.c: Remove unused header files. * convert.c: Likewise. * cpp.c: Likewise. * decl.c: Likewise. * f95-lang.c: Likewise. * frontend-passes.c: Likewise. * iresolve.c: Likewise. * match.c: Likewise. * module.c: Likewise. * options.c: Likewise. * parse.c: Likewise. * target-memory.c: Likewise. * trans-array.c: Likewise. * trans-common.c: Likewise. * trans-const.c: Likewise. * trans-decl.c: Likewise. * trans-expr.c: Likewise. * trans-intrinsic.c: Likewise. * trans-io.c: Likewise. * trans-openmp.c: Likewise. * trans-stmt.c: Likewise. * trans-types.c: Likewise. * trans.c: Likewise. go * go-backend.c: Remove unused header files. * go-gcc.cc: Likewise. * go-lang.c: Likewise. * gospec.c: Likewise. Java * boehm.c: Remove unused header files. * builtins.c: Likewise. * class.c: Likewise. * constants.c: Likewise. * decl.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * java-gimplify.c: Likewise. * jcf-dump.c: Likewise. * jcf-io.c: Likewise. * jcf-parse.c: Likewise. * jvgenmain.c: Likewise. * lang.c: Likewise. * mangle.c: Likewise. * mangle_name.c: Likewise. * resource.c: Likewise. * typeck.c: Likewise. * verify-glue.c: Likewise. * verify-impl.c: Likewise. * zextract.c: Likewise. jit * dummy-frontend.c: Remove unused header files. * jit-builtins.c: Likewise. * jit-playback.c: Likewise. * jit-recording.c: Likewise. * jit-spec.c: Likewise. * libgccjit.c: Likewise. lto * lto-lang.c: Remove unused header files. * lto-object.c: Likewise. * lto-partition.c: Likewise. * lto-symtab.c: Likewise. * lto.c: Likewise. objc * objc-act.c: Remove unused header files. * objc-encoding.c: Likewise. * objc-gnu-runtime-abi-01.c: Likewise. * objc-lang.c: Likewise. * objc-map.c: Likewise. * objc-next-runtime-abi-01.c: Likewise. * objc-next-runtime-abi-02.c: Likewise. * objc-runtime-shared-support.c: Likewise. objcp * objcp-decl.c: Remove unused header files. * objcp-lang.c: Likewise. From-SVN: r230166
2015-11-11simplify-rtx: Simplify trunc of and of shiftrtSegher Boessenkool2-0/+33
If we have (truncate:M1 (and:M2 (lshiftrt:M2 (x:M2) C) C2)) we can write it instead as (and:M1 (lshiftrt:M1 (truncate:M1 (x:M2)) C) C2) (if that is valid, of course), which has smaller modes for the binary ops, and the truncate can often simplify further (if "x" is a register, for example). * gcc/simplify-rtx.c (simplify_truncation): Simplify TRUNCATE of AND of [LA]SHIFTRT. From-SVN: r230164
2015-11-11re PR rtl-optimization/68287 (conditional jump or move depends on ↵Martin Liska2-2/+9
uninitialized value in lra-lives.c:1048) Fix PR rtl-optimization/68287 PR rtl-optimization/68287 * lra-lives.c (lra_create_live_ranges_1): Reserve the right number of elements. Co-Authored-By: Richard Biener <rguenther@suse.de> From-SVN: r230163
2015-11-11Undo delay slot filling and use compact branches in selected cases.Simon Dardis4-0/+147
gcc/ * config/mips/mips.c (mips_breakable_sequence_p): New function. (mips_break_sequence): New function. (mips_reorg_process_insns) Use them. Use compact branches in selected situations. gcc/testsuite/ * gcc.target/mips/split-ds-sequence.c: New test. From-SVN: r230160
2015-11-11Fix whitespace+typo from "Share code from fold_array_ctor_reference with fold."Alan Lawrence2-29/+33
* fold-const.c (get_array_ctor_element_at_index): Fix whitespace, typo. From-SVN: r230159
2015-11-11[ARM] PR67305, tighten neon_vector_mem_operand on eliminable registersJiong Wang2-3/+10
2015-11-11 Jiong Wang <jiong.wang@arm.com> Jim Wilson <wilson@gcc.gnu.org> PR target/67305 * config/arm/arm.md (neon_vector_mem_operand): Return FALSE if strict be true and eliminable registers mentioned. Co-Authored-By: Jim Wilson <wilson@gcc.gnu.org> From-SVN: r230158
2015-11-11arc-common.c (arc_handle_option): Handle ARCv2 options.Claudiu Zissulescu14-144/+1224
2015-11-11 Claudiu Zissulescu <claziss@synopsys.com> * common/config/arc/arc-common.c (arc_handle_option): Handle ARCv2 options. * config/arc/arc-opts.h: Add ARCv2 CPUs. * config/arc/arc-protos.h (arc_secondary_reload_conv): Prototype. * config/arc/arc.c (arc_secondary_reload): Handle subreg (reg) situation, and store instructions with large offsets. (arc_secondary_reload_conv): New function. (arc_init): Add ARCv2 options. (arc_conditional_register_usage): Select the proper register usage for ARCv2 processors. (arc_handle_interrupt_attribute): ILINK2 is only valid for ARCv1 architecture. (arc_compute_function_type): Likewise. (arc_print_operand): Handle new ARCv2 punctuation characters. (arc_return_in_memory): ARCv2 ABI returns in registers up to 16 bytes. (workaround_arc_anomaly, arc_asm_insn_p, arc_loop_hazard): New function. (arc_reorg, arc_hazard): Use it. * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __HS__ and __EM__. (ASM_SPEC): Add ARCv2 options. (TARGET_NORM): ARC HS has norm instructions by default. (TARGET_OPTFPE): Use optimized floating point emulation for ARC HS. (TARGET_AT_DBR_CONDEXEC): Only for ARC600 family. (TARGET_EM, TARGET_HS, TARGET_V2, TARGET_MPYW, TARGET_MULTI): Define. (SIGNED_INT16, TARGET_MPY, TARGET_ARC700_MPY, TARGET_ANY_MPY): Likewise. (TARGET_ARC600_FAMILY, TARGET_ARCOMPACT_FAMILY): Likewise. (TARGET_LP_WR_INTERLOCK): Likewise. * config/arc/arc.md (commutative_binary_mult_comparison_result_used, movsicc_insn) (mulsi3, mulsi3_600_lib, mulsidi3, mulsidi3_700, mulsi3_highpart) (umulsi3_highpart_i, umulsi3_highpart_int, umulsi3_highpart) (umulsidi3, umulsidi3_700, cstoresi4, simple_return, p_return_i): Use it for ARCv2. (mulhisi3, mulhisi3_imm, mulhisi3_reg, umulhisi3, umulhisi3_imm) (umulhisi3_reg, umulhisi3_reg, mulsi3_v2, nopv, bswapsi2) (prefetch, divsi3, udivsi3 modsi3, umodsi3, arcset, arcsetltu) (arcsetgeu, arcsethi, arcsetls, reload_*_load, reload_*_store) (extzvsi): New pattern. * config/arc/arc.opt: New ARCv2 options. * config/arc/arcEM.md: New file. * config/arc/arcHS.md: Likewise. * config/arc/constraints.md (C3p): New constraint, accepts 1 and 2 values. (Cm2): A signed 9-bit integer constant constraint. (C62): An unsigned 6-bit integer constant constraint. (C16): A signed 16-bit integer constant constraint. * config/arc/predicates.md (mult_operator): Add ARCv2 processort. (short_const_int_operand): New predicate. * config/arc/t-arc-newlib: Add ARCv2 multilib options. * doc/invoke.texi: Add documentation for -mcpu=<archs/arcem> -mcode-density and -mdiv-rem. From-SVN: r230156
2015-11-11Fix typo.Julia Koval2-1/+5
gcc/ * config/i386/i386.c (m_SKYLAKE_AVX512): Fix typo. From-SVN: r230155
2015-11-11Fix target arch attribute for Skylake.Julia Koval4-1/+32
gcc/ * config/i386/i386.c: Handle "skylake" and "skylake-avx512". gcc/testsuite/ * g++.dg/ext/mv16.C: New functions. From-SVN: r230153
2015-11-11Fix various memory leaksMartin Liska5-10/+28
* gimple-ssa-strength-reduction.c (create_phi_basis): Use auto_vec. * passes.c (release_dump_file_name): New function. (pass_init_dump_file): Used from this function. (pass_fini_dump_file): Likewise. * tree-sra.c (convert_callers_for_node): Use xstrdup_for_dump. * var-tracking.c (vt_initialize): Use pool_allocator. From-SVN: r230152
2015-11-11[Patch] PR tree-optimization/68234 Improve range info for loop Phi nodeRichard Biener4-14/+61
2015-11-11 Richard Biener <rguenth@gcc.gnu.org> Jiong Wang <jiong.wang@arm.com> gcc/ PR tree-optimization/68234 * tree-vrp.c (vrp_visit_phi_node): Extend SCEV check to those loop PHI node which estimiated to be VR_VARYING initially. gcc/testsuite/ * gcc.dg/tree-ssa/pr68234.c: New testcase. Co-Authored-By: Jiong Wang <jiong.wang@arm.com> From-SVN: r230150
2015-11-11Tighten up checks when tying chains.Robert Suchanek2-3/+10
gcc/ * regname.c (scan_rtx_reg): Check the matching number of consecutive registers when tying chains. (build_def_use): Move terminated_this_insn earlier in the function. From-SVN: r230149
2015-11-11re PR fortran/67826 (gcc/fortran/openmp.c:1808: bad test ?)Dominique d'Humieres2-1/+6
2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr> PR fortran/67826 * openmp.c (gfc_omp_udr_find): Fix typo. From-SVN: r230148
2015-11-11gcc: configure: fix test == bashismsMike Frysinger3-4/+9
From-SVN: r230146