aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2015-10-07move graphite bookkeeping from sese to sese_infoAditya Kumar9-239/+283
2015-10-06 Aditya Kumar <aditya.k7@samsung.com> Sebastian Pop <s.pop@samsung.com> * graphite-isl-ast-to-gimple.c (translate_isl_ast_to_gimple): Use an sese_info_p. (copy_def): Same. (copy_internal_parameters): Same. (translate_isl_ast_to_gimple): Use an sese_l. (build_iv_mapping): Same. * graphite-poly.c (new_sese): Rename new_sese_info. (free_sese): Rename free_sese_info. * graphite-poly.h (struct scop): Use an sese_info_p. (scop_set_region): Same. * graphite-scop-detection.c (struct sese_l): Moved... (get_entry_bb): Moved... (get_exit_bb): Moved... (parameter_index_in_region_1): Use an sese_info_p. (parameter_index_in_region): Same. (scan_tree_for_params): Same. (find_params_in_bb): Same. (sese_dom_walker): Use an sese_l. * graphite-sese-to-poly.c (remove_invariant_phi): Same. (reduction_phi_p): Same. (parameter_index_in_region_1): Use an sese_info_p. (propagate_expr_outside_region): Use an sese_l. * graphite.c: Replace uses of SCOP_REGION. * sese.c (sese_record_loop): Use an sese_info_p. (build_sese_loop_nests): Same. (sese_build_liveouts_use): Same. (sese_build_liveouts_bb): Same. (sese_build_liveouts_bb): Same. (sese_bad_liveouts_use): Same. (sese_reset_debug_liveouts_bb): Same. (sese_build_liveouts): Same. (new_sese): Renamed new_sese_info. (free_sese): Renamed free_sese_info. (set_rename): Use an sese_info_p. (graphite_copy_stmts_from_block): Same. (copy_bb_and_scalar_dependences): Same. (outermost_loop_in_sese_1): Use an sese_l. (outermost_loop_in_sese): Same. (if_region_set_false_region): Use an sese_info_p. (move_sese_in_condition): Same. (scalar_evolution_in_region): Use an sese_l. * sese.h (struct sese_l): ... here. (SESE_ENTRY): Remove. (SESE_ENTRY_BB): Remove. (SESE_EXIT): Remove. (SESE_EXIT_BB): Remove. (sese_contains_loop): Use an sese_info_p. (sese_nb_params): Same. (bb_in_sese_p): Use an sese_l. (stmt_in_sese_p): Same. (defined_in_sese_p): Same. (loop_in_sese_p): Same. (sese_loop_depth): Same. (struct ifsese_s): Use an sese_info_p. (gbb_loop_at_index): Use an sese_l. (nb_common_loops): Same. (scev_analyzable_p): Same. Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r228572
2015-10-07re PR sanitizer/67867 (UBSan bootstrap fails with error: ‘otype’ may be ↵Marek Polacek2-1/+6
used uninitialized in this function [-Werror=maybe-uninitialized]) PR sanitizer/67867 * search.c (accessible_p): Initialize OTYPE to NULL_TREE. From-SVN: r228569
2015-10-07Define x86 CALL_USED_REGISTERS_MASKH.J. Lu3-3/+10
Define x86 CALL_USED_REGISTERS_MASK used on x86 CALL_USED_REGISTERS. * config/i386/i386.c (ix86_conditional_register_usage): Use CALL_USED_REGISTERS_MASK. * config/i386/i386.h (CALL_USED_REGISTERS_MASK): New macro. From-SVN: r228568
2015-10-07Check $READELF_FOR_TARGET for readelf in configureH.J. Lu3-3/+13
Similar to as, ld, nm and objdump, gcc configure should check $READELF_FOR_TARGET for readelf. PR bootstrap/67385 * configure.ac (gcc_cv_readelf): Check $READELF_FOR_TARGET. * configure: Regenerated. From-SVN: r228567
2015-10-07re PR fortran/65889 ([6 Regressions] [OOP] ICE with sizeof a polymorphic ↵Andre Vehreschild4-3/+34
variable.) gcc/fortran/ChangeLog: 2015-10-07 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/65889 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle pointer to and on stack class objects as sizeof parameter. gcc/testsuite/ChangeLog: 2015-10-07 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/65889 * gfortran.dg/sizeof_5.f90: New test. From-SVN: r228566
2015-10-07Merge ix86_maybe_switch_abi with ix86_set_current_functionH.J. Lu2-14/+15
ix86_maybe_switch_abi is called to late during RTL expansion and we use the stale information from compilation of the previous function. aggregate_value_p uses call_used_regs. aggregate_value_p is used by IPA and return value optimization, which are called before ix86_maybe_switch_abi is called. This patch merges ix86_maybe_switch_abi with ix86_set_current_function. PR target/67850 * config/i386/i386.c (ix86_maybe_switch_abi): Merged with ... (ix86_set_current_function): This. (TARGET_EXPAND_TO_RTL_HOOK): Removed. From-SVN: r228565
2015-10-07Check in forgotten test for fortran/65766Louis Krupp1-0/+23
From-SVN: r228564
2015-10-07tree-vectorizer.h (stmt_vec_info_vec): Use vec<stmt_vec_info>.Richard Biener5-159/+98
2015-10-07 Richard Biener <rguenther@suse.de> * tree-vectorizer.h (stmt_vec_info_vec): Use vec<stmt_vec_info>. (vinfo_for_stmt): Adjust. (set_vinfo_for_stmt): Likewise. * tree-vectorizer.c (stmt_vec_info_vec): Likewise. * tree-vect-stmts.c (free_stmt_vec_info_vec): Likewise. * tree-vect-loop.c (new_loop_vec_info): Remove special-casing of inner loop. (vect_analyze_loop_1): Remove. (vect_analyze_loop_form_1): Avoid building a loop_vec_info for inner loop when vectorizing an outer loop by splitting out from ... (vect_analyze_loop_form): ... here. From-SVN: r228563
2015-10-07Fix PR c/65345 for armRamana Radhakrishnan2-2/+8
2015-10-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR c/65345 * config/arm/arm-builtins.c (arm_atomic_assign_expand_fenv): Use create_tmp_var_raw instead of create_tmp_var. From-SVN: r228562
2015-10-07Cache reals for 1/4, 1/6 and 1/9Richard Sandiford4-45/+48
We have a global 1/2 and a cached 1/3, but recalculate 1/4, 1/6 and 1/9 each time we need them. That seems a bit arbitrary and makes the folding code more noisy (especially once it's moved to match.pd). This patch caches the other three constants too. Bootstrapped & regression-tested on x86_64-linux-gnu. gcc/ * real.h (dconst_quarter, dconst_sixth, dconst_ninth): New macros. (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): Declare. * real.c (CACHED_FRACTION): New helper macro. (dconst_third_ptr): Use it. (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): New. * builtins.c (fold_builtin_sqrt): Use dconst_quarter and dconst_sixth. (fold_builtin_cbrt): Use dconst_sixth and dconst_ninth. From-SVN: r228561
2015-10-07cp-gimplify.c (genericize_if_stmt): Use protected_set_expr_location.Marek Polacek5-17/+22
* cp-gimplify.c (genericize_if_stmt): Use protected_set_expr_location. (genericize_cp_loop): Likewise. * decl.c (cxx_maybe_build_cleanup): Likewise. * parser.c (cp_parser_binary_expression): Likewise. (cp_parser_omp_for_loop): Likewise. (cp_parser_omp_construct): Likewise. * semantics.c (finish_transaction_stmt): Likewise. (build_transaction_expr): Likewise. From-SVN: r228560
2015-10-06[PATCH][PR tree-optimization/67816] Fix jump threading when DOM removes ↵Jeff Law6-26/+97
conditionals in jump threading path PR tree-optimization/67816 * tree-ssa-threadupdate.h (remove_jump_threads_including): Renamed from remove_jump_threads_starting_at. Accept an edge rather than a basic block. * tree-ssa-threadupdate.c (removed_edges): New hash table. (remove_jump_threads_including): Note edges that get removed from the CFG for later pruning of jump threading paths including them. (thread_through_all_blocks): Remove paths which include edges that have been removed. * tree-ssa-dom.c (optimize_stmt): Call remove_jump_threads_including on each outgoing edges when optimizing away a control statement. * gcc.c-torture/compile/pr67816.c: New test. From-SVN: r228559
2015-10-07reorg.c: use vec<rtx_insn *> instead of rtx_insn_list for the delay insn listTrevor Saunders2-201/+172
gcc/ChangeLog: 2015-10-06 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * reorg.c (emit_delay_sequence): Store list of delay slot insns in a vector instead of rtx_insn_list. (add_to_delay_list): Likewise. (delete_from_delay_slot): Likewise. (optimize_skip): Likewise. (redirect_with_delay_list_safe_p): Likewise. (check_annul_list_true_false): Likewise. (steal_delay_list_from_target): Likewise. (steal_delay_list_from_fallthrough): Likewise. (redundant_insn): Likewise. (fill_simple_delay_slots): Likewise. (fill_slots_from_thread): Likewise. (fill_eager_delay_slots): Likewise. (relax_delay_slots): Likewise. From-SVN: r228558
2015-10-06re PR c++/67810 (Non-expression recognized as fold expression)Jason Merrill6-62/+170
PR c++/67810 * parser.c (cp_parser_fold_expr_p): Remove. (is_binary_op): New. (cp_parser_fold_expression): Take LHS as parameter. (cp_parser_primary_expression): Call it after parsing an expression. (cp_parser_binary_expression, cp_parser_assignment_operator_opt) (cp_parser_expression): Ignore an operator followed by '...'. (is_binary_op): New. * pt.c (tsubst_unary_left_fold, tsubst_binary_left_fold) (tsubst_unary_right_fold, tsubst_binary_right_fold): Handle errors. From-SVN: r228556
2015-10-07Daily bump.GCC Administrator1-1/+1
From-SVN: r228555
2015-10-06[multiple changes]Louis Krupp3-3/+22
2015-10-06 Louis Krupp <louis.krupp@zoho.com> PR fortran/65766 * resolve.c (gfc_resolve_substring_charlen): For derived type, use typespec of string component when resolving substring length. 2015-10-06 Louis Krupp <louis.krupp@zoho.com> PR fortran/65766 * gfortran.dg/substr_alloc_string_comp_1.f90: New. From-SVN: r228551
2015-10-06compiler: Record each import as a distinct alias.Ian Lance Taylor7-79/+129
This patch introduces the Package_alias class which is a finer representation of the different between a package and the aliases it is imported under. Each alias keeps track of the location of its import statement and how many times that alias has been used. This allows the gofrontend to report when a specific import has not been used even if a symbol from the package has been used by another import. Fixes golang/go#12326. Reviewed-on: https://go-review.googlesource.com/14259 From-SVN: r228550
2015-10-06nios2.c (nios2_symbol_ref_in_small_data_p): For -mgpopt=local, also exclude ↵Sandra Loosemore3-5/+16
unintialized common symbols. 2015-10-06 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/nios2/nios2.c (nios2_symbol_ref_in_small_data_p): For -mgpopt=local, also exclude unintialized common symbols. * doc/invoke.texi (Nios II Options): Document the change. From-SVN: r228549
2015-10-06iterators.md (vwcore): Add missing cases for V4HF/V8HF modes.Kugan Vivekanandarajah4-0/+35
gcc/ChangeLog: 2015-10-07 Kugan Vivekanandarajah <kuganv@linaro.org> * config/aarch64/iterators.md (vwcore): Add missing cases for V4HF/V8HF modes. gcc/testsuite/ChangeLog: 2015-10-07 Kugan Vivekanandarajah <kuganv@linaro.org> * gcc.target/aarch64/get_lane_f16_1.c: New test. From-SVN: r228547
2015-10-06move dr->alias_set to a helper structureAditya Kumar6-40/+82
2015-10-06 Aditya Kumar <aditya.k7@samsung.com> Sebastian Pop <s.pop@samsung.com> * graphite-poly.c (new_scop): Initialize drs. * graphite-poly.h (struct dr_info): New. (struct scop): Add drs. * graphite-sese-to-poly.c (pdr_add_alias_set): Use dr_info. (pdr_add_memory_accesses): Same. (build_poly_dr): Same. (build_alias_set): Same. (build_scop_drs): Same. (build_pbb_drs): Remove. * tree-data-ref.c (create_data_ref): Do not initialize alias_set. * tree-data-ref.h (data_reference): Remove alias_set. Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r228545
2015-10-06remove unused struct base_alias_pairAditya Kumar6-49/+20
2015-10-06 Aditya Kumar <aditya.k7@samsung.com> Sebastian Pop <s.pop@samsung.com> * graphite-poly.c (free_data_refs_aux): Remove. (free_gimple_poly_bb): Do not call free_data_refs_aux. * graphite-poly.h (struct base_alias_pair): Remove. * graphite-sese-to-poly.c (pdr_add_alias_set): Remove all uses of base_alias_pair and dr->aux. (build_alias_set): Same. * tree-data-ref.c (create_data_ref): Initialize alias_set. * tree-data-ref.h (data_reference): Add alias_set. Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r228544
2015-10-06remove dead code in computation of alias setsAditya Kumar4-267/+40
2015-10-06 Aditya Kumar <aditya.k7@samsung.com> Sebastian Pop <s.pop@samsung.com> * graphite-poly.c (new_poly_dr): Remove dr_base_object_set. Do not set PDR_BASE_OBJECT_SET. * graphite-poly.h (poly_dr): Same. (PDR_BASE_OBJECT_SET): Remove. (new_poly_dr): Update decl. * graphite-sese-to-poly.c (build_poly_dr): Update call to new_poly_dr. (write_alias_graph_to_ascii_dimacs): Remove. (write_alias_graph_to_ascii_dot): Remove. (write_alias_graph_to_ascii_ecc): Remove. (dr_same_base_object_p): Remove. (build_alias_set_optimal_p): Rename build_alias_set. Remove dead code. (build_base_obj_set_for_drs): Remove. (dump_alias_graphs): Remove. (build_scop_drs): Remove dead code. Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r228543
2015-10-06c-parser.c (c_parser_statement_after_labels): Use protected_set_expr_location.Marek Polacek3-19/+24
* c-parser.c (c_parser_statement_after_labels): Use protected_set_expr_location. (c_parser_omp_clause_num_gangs): Likewise. (c_parser_omp_clause_num_threads): Likewise. (c_parser_omp_clause_num_workers): Likewise. (c_parser_omp_clause_vector_length): Likewise. (c_parser_omp_clause_num_teams): Likewise. (c_parser_omp_clause_thread_limit): Likewise. * c-typeck.c (build_c_cast): Likewise. (c_cast_expr): Likewise. From-SVN: r228541
2015-10-06re PR c++/67863 (-Wtautological-compare warns when it shouldn't)Marek Polacek4-1/+27
PR c++/67863 * call.c (build_conditional_expr_1): Build the COND_EXPR with a location. * c-c++-common/Wtautological-compare-4.c: New test. From-SVN: r228540
2015-10-06Remove duplicate target line.Michael Meissner1-1/+0
From-SVN: r228539
2015-10-06re PR target/67808 (LRA ICEs on simple double to long double conversion test ↵Michael Meissner4-33/+106
case) [gcc] 2015-10-05 Michael Meissner <meissner@linux.vnet.ibm.com> Peter Bergner <bergner@vnet.ibm.com> PR target/67808 * config/rs6000/rs6000.md (extenddftf2): In the expander, only allow registers, but provide insns for the combiner to create for loads from memory. Separate VSX code from non-VSX code. For non-VSX code, combine extenddftf2_fprs into extenddftf2 and rename externaldftf2_internal to externaldftf2_fprs. Reorder constraints so that registers come before memory operations. Drop support from converting DFmode to TFmode, if the DFmode value is in a GPR register. (extenddftf2_fprs): Likewise. (extenddftf2_internal): Likewise. (extenddftf2_vsx): Likewise. (extendsftf2): In the expander, only allow registers, but provide insns for the combiner to create for stores and loads. [gcc/testsuite] 2015-10-05 Michael Meissner <meissner@linux.vnet.ibm.com> Peter Bergner <bergner@vnet.ibm.com> PR target/67808 * gcc.target/powerpc/pr67808.c: New test. Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com> From-SVN: r228538
2015-10-06Remove ATTRIBUTE_UNUSED from `decl' parameter of default_elf_asm_named_sectionRamana Radhakrishnan2-1/+6
The decl parameter in default_elf_asm_named_section is actually used. Applied as obvious after an arm-none-eabi build. Ramana 2015-10-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * varasm.c (default_elf_asm_named_section): Remove ATTRIBUTE_UNUSED from the decl parameter. From-SVN: r228537
2015-10-06re PR middle-end/67861 (coreutils' wc.c:write_counts is miscompiled since ↵Nathan Sidwell2-0/+7
commit 7e3a76de7c496449b187c2688d958631cf21a944) PR 67861 * gimple-fold.c (gimple_fold_builtin): Add break after BUILT_IN_PRINTF_CHK, BUILT_IN_VPRINTF_CHK folding. From-SVN: r228536
2015-10-06Rename scop->ctx to isl_contextH.J. Lu2-1/+6
* graphite-optimize-isl.c (optimize_isl): Rename scop->ctx to scop->isl_context. From-SVN: r228535
2015-10-06arm.c (arm_emit_probe_stack_range): Adjust comment.Eric Botcazou3-15/+21
* config/arm/arm.c (arm_emit_probe_stack_range): Adjust comment. (output_probe_stack_range): Rotate the loop and simplify. (thumb1_expand_prologue): Tweak sorry message. * config/arm/arm.md (probe_stack): Use bare string. From-SVN: r228534
2015-10-06* config.gcc (lm32-elf): Add newlib-stdint.h to tm_file.Nick Clifton2-1/+5
From-SVN: r228533
2015-10-06gcc * config/msp430/msp430.c (ATTR_NOINIT): New constant.Nick Clifton6-2/+235
(ATTR_PERSIST): New constant. (msp430_data_attr): New function - verifies an attribute that only applies to variables. (msp430_attributes): Add noinit and persistent attributes. (noinit_section): New variable. (presis_section): New variable. (TARGET_ASM_INIT_SECTIONS): Define. (msp430_init_sections): New function - initialises the noinit and persist section variables. (msp430_select_section): Add support for noinit and persist attributes. (msp430_section_type_flags): Likewise. * doc/extend.texi: Document the reent, critical, wakeup, noinit and persistent attributes. tests * gcc.target/msp430: New directory. * gcc.target/msp430/msp430.exp: New file. Runs MSP430 specific tests. * gcc.target/msp430/data-attributes.c: New file. Checks the noinit and persistent data attributes. From-SVN: r228531
2015-10-06remove dead code used by the old cloog schedulerAditya Kumar3-257/+12
2015-10-05 Aditya Kumar <aditya.k7@samsung.com> Sebastian Pop <s.pop@samsung.com> * graphite-dependences.c (scop_get_transformed_schedule): Remove. (no_violations): Remove. (subtract_commutative_associative_deps): Remove. (compute_deps): Do not call subtract_commutative_associative_deps. (transform_is_safe): Remove. (graphite_legal_transform): Remove. * graphite-poly.h (graphite_legal_transform): Remove. Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r228530
2015-10-06Early exit to avoid redundant computationsAditya Kumar3-18/+27
Analyze only those bbs which are outside the region for uses which might be defined inside the region. This is intended to improve the compile time. This algorithm may be further improved by only looking at the successors of region as these regions are sese. Added FIXMEs to make this improvement in future. Passes regtest and bootstrap on x86_64. gcc/ChangeLog: 2015-10-05 Aditya Kumar <hiraditya@msn.com> * graphite-sese-to-poly.c (build_loop_iteration_domains): Only loops which are in this region are passed so gcc_assert and remove redundant computation. * sese.c (sese_build_liveouts): Pass only those bbs which are not in region. (sese_bad_liveouts_use): Only BBs which are not in region are passed so gcc_assert on that and remove unnecessary computation. (sese_build_liveouts_use): Same. From-SVN: r228529
2015-10-06Move declarations, assign types, renaming.Aditya Kumar9-174/+195
1. Move declarations near the assignment/usage. 2. Assign type to members which were void*. 3. Rename scop->context to scop::param_context, and scop::ctx to scop::isl_context No functional changes intended. Passes regtest and bootstrap. gcc/ChangeLog: 2015-10-05 Aditya Kumar <aditya.k7@samsung.com> * graphite-dependences.c (scop_get_reads): Renamed scop->context to scop->param_context. (scop_get_must_writes): Same. (scop_get_may_writes): Same. (scop_get_original_schedule): Same. (scop_get_transformed_schedule): Same. (subtract_commutative_associative_deps): Same. * graphite-isl-ast-to-gimple.c (add_parameters_to_ivs_params): Same. (generate_isl_context): Same. (generate_isl_schedule): Same. (scop_to_isl_ast): Same. (graphite_regenerate_ast_isl): Same. * graphite-optimize-isl.c (scop_get_domains): Same. (optimize_isl): Renamed scop->context to scop->param_context. * graphite-poly.c (new_poly_bb): Change the type of argument to gimple_poly_bb_p. (new_scop): Renamed scop->context to scop->param_context. (free_scop): Same. (print_scop_context): Same. * graphite-poly.h (new_poly_dr): Change the type of argument from void* to data_reference_p. (struct poly_bb): Change the type of black_box to gimple_poly_bb_p. (new_poly_bb): Change the type of argument from void* to gimple_poly_bb_p. (pbb_set_black_box): Same. (struct scop): Rename context to param_context, ctx to isl_context. * graphite-scop-detection.c (scop_detection::build_scop_bbs_1): Move declarations closer to assignment. (find_params_in_bb): Same. (find_scop_parameters): Same. * graphite-sese-to-poly.c (unsigned ssa_name_version_typesize): Global to be used for statement IDs. (isl_id_for_pbb): Use ssa_name_version_typesize. (simple_copy_phi_p): Move declarations closer to assignment. (build_pbb_scattering_polyhedrons): Same. (build_scop_scattering): Same. (isl_id_for_ssa_name): Same. (extract_affine_name): Same. (extract_affine_int): Same. (extract_affine): Same. (set_scop_parameter_dim): Use renamed member. (build_loop_iteration_domains): Same. (add_param_constraints): Same. (build_scop_iteration_domain): Same. (pdr_add_data_dimensions): Same. (build_poly_dr): Same. (build_scop_drs): Move declarations closer to assignment. (analyze_drs_in_stmts): Same. (insert_out_of_ssa_copy): Same. (insert_out_of_ssa_copy_on_edge): Same. (propagate_expr_outside_region): Same. (rewrite_phi_out_of_ssa): Same. (rewrite_degenerate_phi): Same. (rewrite_reductions_out_of_ssa): Same. (rewrite_cross_bb_scalar_dependence): Same. (handle_scalar_deps_crossing_scop_limits): Same. (rewrite_cross_bb_scalar_deps): Same. * graphite.c (graphite_transform_loops): Use renamed member. From-SVN: r228528
2015-10-06re PR c/65345 (ICE with _Generic selection on _Atomic int)Uros Bizjak2-2/+8
PR c/65345 * config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): Use create_tmp_var_raw instead of create_tmp_var. From-SVN: r228527
2015-10-06Fix PR c/65345 for AArch64 Ramana Radhakrishnan2-5/+11
2015-10-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR c/65345 * config/aarch64/aarch64-builtins.c (aarch64_atomic_assign_expand_fenv): Use create_tmp_var_raw instead of create_tmp_var. From-SVN: r228526
2015-10-06AVX-512. Avoid upper-bank registers when splitting vec_extract_lo instruction.Alexander Fomin2-3/+14
gcc/ PR target/67849 * config/i386/sse.md (define_split vec_select/V8FI): Restrict split for upper-bank registers when target does not support AVX512VL. (define_insn "vec_extract_lo_<mode><mask_name>"): Restrict split when target does not support AVX512VL. From-SVN: r228525
2015-10-06re PR c/65345 (ICE with _Generic selection on _Atomic int)David Edelsohn2-5/+11
PR c/65345 * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv): Adjust to use create_tmp_var_raw instead of create_tmp_var. From-SVN: r228524
2015-10-06builtin_target.c: Fix AVX-512VBMI detection.Kirill Yukhin2-1/+5
gcc/testsuite/ * gcc.target/i386/builtin_target.c: Fix AVX-512VBMI detection. From-SVN: r228523
2015-10-06rl78.c (rl78_rtx_costs): Improve cost estimates for multiplication.Nick Clifton2-6/+35
* config/rl78/rl78.c (rl78_rtx_costs): Improve cost estimates for multiplication. From-SVN: r228521
2015-10-06AMD znver1 enablement.Venkataramanan Kumar14-29/+1239
2015-10-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com> AMD znver1 enablement. * config.gcc (i[34567]86-*-linux* | ...): Add znver1. (case ${target}): Add znver1. * config/i386/cpuid.h(bit_CLZERO): Define. * config/i386/driver-i386.c: (host_detect_local_cpu): Let -march=native recognize znver1 processors. * config/i386/i386-c.c (ix86_target_macros_internal): Add znver1, clzero def_and_undef. * config/i386/i386.c (struct processor_costs znver1_cost): New. (m_znver1): New definition. (m_AMD_MULTIPLE): Includes m_znver1. (processor_target_table): Add znver1 entry. (ix86_target_string) : Add clzero entry. (static const char *const cpu_names): Add znver1 entry. (ix86_option_override_internal): Add znver1 instruction sets. (PTA_CLZERO) : New definition. (ix86_option_override_internal): Handle new clzerooption. (ix86_issue_rate): Add znver1. (ix86_adjust_cost): Add znver1. (ia32_multipass_dfa_lookahead): Add znver1. (has_dispatch): Add znver1. * config/i386/i386.h (TARGET_znver1): New definition. (TARGET_CLZERO): Define. (TARGET_CLZERO_P): Define. (struct ix86_size_cost): Add TARGET_ZNVER1. (enum processor_type): Add PROCESSOR_znver1. * config/i386/i386.md (define_attr "cpu"): Add znver1. (set_attr znver1_decode): New definitions for znver1. * config/i386/i386.opt (flag_dispatch_scheduler): Add znver1. (mclzero): New. * config/i386/mmx.md (set_attr znver1_decode): New definitions for znver1. * config/i386/sse.md (set_attr znver1_decode): Likewise. * config/i386/x86-tune.def: Add znver1 tunings. * config/i386/znver1.md: Introduce znver1 cpu and include new md file. * gcc/doc/invoke.texi: Add details about znver1 From-SVN: r228520
2015-10-06re PR tree-optimization/67859 (ICE on valid code at -O2 and -O3 on ↵Richard Biener4-4/+35
x86_64-linux-gnu) 2015-10-06 Richard Biener <rguenther@suse.de> PR tree-optimization/67859 * tree-ssa-pre.c (create_expression_by_pieces): Properly discard not inserted stmts. * gcc.dg/torture/pr67859.c: New testcase. From-SVN: r228519
2015-10-06Update template instantiation documentationJonathan Wakely3-41/+67
* doc/extend.texi (Template Instantiation): Reorder options and de-emphasize -frepo. * doc/invoke.texi (C++ Dialect Options): Use -fstrict-enums in example instead of -frepo. From-SVN: r228518
2015-10-06re PR c/65345 (ICE with _Generic selection on _Atomic int)Eric Botcazou2-10/+21
PR c/65345 * config/sparc/sparc.c (sparc_atomic_assign_expand_fenv): Adjust to use create_tmp_var_raw rather than create_tmp_var. From-SVN: r228516
2015-10-06builtin_target.c: Fix AVX-512VBMI detection.Kirill Yukhin1-1/+1
gcc/testsuite/ * gcc.target/i386/builtin_target.c: Fix AVX-512VBMI detection. From-SVN: r228515
2015-10-06tree-vectorizer.h (vec_info): New base class for...Richard Biener8-382/+357
2015-10-06 Richard Biener <rguenther@suse.de> * tree-vectorizer.h (vec_info): New base class for... (_loop_vec_info): ... this and ... (_bb_vec_info): ... this. (vect_is_simple_use, vect_is_simple_use_1, new_stmt_vec_info, vect_analyze_data_refs_alignment, vect_verify_datarefs_alignment, vect_analyze_data_ref_accesses, vect_analyze_data_refs, vect_schedule_slp, vect_analyze_slp, vect_pattern_recog, vect_destroy_datarefs): Adjust interface to take a vec_info * rather than both a loop_vec_info and a bb_vec_info argument. * tree-vect-data-refs.c (vect_compute_data_refs_alignment, vect_verify_datarefs_alignment, vect_enhance_data_refs_alignment, vect_analyze_data_refs_alignment, vect_analyze_data_ref_accesses, vect_analyze_data_refs, vect_create_data_ref_ptr): Adjust accordingly. * tree-vect-loop.c (new_loop_vec_info): Initialize base class. (destroy_loop_vec_info, vect_analyze_loop_2, vect_is_simple_reduction_1, get_initial_def_for_induction, vect_create_epilog_for_reduction, vectorizable_reduction, vectorizable_live_operation, vect_transform_loop): Adjust. * tree-vect-patterns.c (type_conversion_p, vect_recog_widen_mult_pattern, vect_recog_widen_shift_pattern, vect_recog_rotate_pattern, vect_recog_vector_vector_shift_pattern, vect_recog_divmod_pattern, vect_recog_mixed_size_cond_pattern, check_bool_pattern, vect_recog_bool_pattern, vect_mark_pattern_stmts, vect_pattern_recog): Likewise. * tree-vect-slp.c (vect_get_and_check_slp_defs, vect_build_slp_tree_1, vect_build_slp_tree, vect_analyze_slp_cost_1, vect_analyze_slp_instance, vect_analyze_slp, destroy_bb_vec_info, vect_slp_analyze_bb_1, vect_schedule_slp): Likewise. (new_bb_vec_info): Initialize base classs. * tree-vect-stmts.c (record_stmt_cost, process_use, vect_get_vec_def_for_operand, vect_finish_stmt_generation, vectorizable_mask_load_store, vectorizable_call, vectorizable_simd_clone_call, vectorizable_conversion, vectorizable_assignment, vectorizable_shift, vectorizable_operation, vectorizable_store, vectorizable_load, vect_is_simple_cond, vectorizable_condition, new_stmt_vec_info, vect_is_simple_use, vect_is_simple_use_1): Likewise. * tree-vectorizer.c (vect_destroy_datarefs): Likewise. From-SVN: r228514
2015-10-06builtin_target.c: Add check for AES and PCLMUL.Kirill Yukhin2-0/+8
gcc/testsuite/ * gcc.target/i386/builtin_target.c: Add check for AES and PCLMUL. From-SVN: r228513
2015-10-06Daily bump.GCC Administrator1-1/+1
From-SVN: r228510
2015-10-05Fix PR65345 in SH backendKaz Kojima2-5/+13
Adjust to use create_tmp_var_raw rather than create_tmp_var at sh_atomic_assign_expand_fenv. From-SVN: r228502