i386.c (ix86_va_start): Remove unneeded !TARGET_64BIT check.
[platform/upstream/gcc.git] / gcc / ChangeLog
index e0106d3..7092577 100644 (file)
@@ -1,3 +1,499 @@
+2015-07-25  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_va_start): Remove
+       unneeded !TARGET_64BIT check.
+       (ix86_gimplify_va_arg): Ditto.
+
+2015-07-24  Tom de Vries  <tom@codesourcery.com>
+
+       * graphite-sese-to-poly.c (build_poly_scop): Always call
+       rewrite_commutative_reductions_out_of_ssa.
+
+2015-07-24  Tom de Vries  <tom@codesourcery.com>
+
+       * graphite-sese-to-poly.c (is_reduction_operation_p): Limit
+       flag_associative_math to FLOAT_TYPE_P.  Honour
+       TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types.
+
+2015-07-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR c++/64079
+       * toplev.c (check_global_declaration): Use DECL_SOURCE_LOCATION
+       and "%qD" in warning_at instead of "%q+D" in warning.
+
+2015-07-24  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_call_abi_override): Call ix86_function_abi.
+       (ix86_function_abi): Cleanup.
+
+2015-07-24  Michael Darling  <darlingm@gmail.com>
+
+       PR other/66259
+       * acinclude.m4: Reflects renaming of configure.in to configure.ac
+       * configure: Likewise
+       * configure.ac: Likewise
+       * doc/install.texi: Likewise
+       * doc/tm.texi: Likewise
+       * doc/tm.texi.in: Likewise
+
+2015-07-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * alias.c (nonoverlapping_memrefs_p): Use std::swap instead of
+       manually swapping values.
+       * cse.c (fold_rtx): Likewise.
+       * lra-eliminations.c (form_sum): Likewise.
+
+2015-07-24  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/64003
+       * config/i386/i386.h (ADJUST_INSN_LENGTH): New define.
+       * config/i386/i386.md (maybe_prefix_bnd): New attribute.
+       (*jcc_1, *jcc_2, jump, simple_return_internal)
+       (simple_return_pop_internal): Set attribute maybe_prefix_bnd.
+       Set length_nobnd attribute instead of length attribute.
+       (indirect_jump, *tablejump_1): Set attribute maybe_prefix_bnd.
+       (length_nobnd): Remove attribute.
+       (length): Remove length_nobnd processing.
+
+2015-07-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * gimplify.c (omp_default_clause): New function.  Reorganize flow
+       for clarity. Broken out of ...
+       (omp_notice_variable): ... here.
+
+2015-07-24  Gary Funck  <gary@intrepid.com>
+
+       PR middle-end/66984
+       * fold-const.c (fold_binary_loc): Call fold_convert on arguments to
+        fold_build2 for CEIL_DIV_EXPR and FLOOR_DIV_EXPR optimization.
+
+2015-07-24  Tom de Vries  <tom@codesourcery.com>
+
+       * tree-parloops.c (gen_parallel_loop): Add debug print for alternative
+       exit-first loop transform.
+
+2015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
+
+       PR 66714
+       * tree-cfg.c (struct replace_decls_d): New struct.
+       (replace_block_vars_by_duplicates_1): New function.
+       (replace_block_vars_by_duplicates): Use it to replace the decls
+       in the value exprs by duplicates.
+
+2015-07-24  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       * config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static,
+       -shared, -symbolic, -rdynamic.
+
+2015-07-24  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/65711
+       * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move
+       -dynamic-linker within %{!static %{!shared, and -rdynamic within
+       %{!static.
+
+2015-07-24  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+       PR ipa/66566
+       * ipa-inline-analysis.c (estimate_calls_size_and_time): Check
+       edge summary is available.
+
+2015-07-24  Richard Biener  <rguenther@suse.de>
+
+       * genmatch.c (struct dt_node): Add statistic fields.
+       (dt_node::analyze): New method.
+       (decision_tree::gen_gimple): Call analyze on the root node
+       and print statistics to stderr.
+       (decision_tree::gen_generic): Likewise.
+
+2015-07-24  Richard Biener  <rguenther@suse.de>
+
+       * fold-const.c (fold_binary_loc): Move simplifying of comparisons
+       against the highest or lowest possible integer ...
+       * match.pd: ... as patterns here.
+
+2015-07-24  Richard Biener  <rguenther@suse.de>
+
+       * genmatch.c (struct capture_info): Add same_as field.
+       (capture_info::capture_info): Initialize same_as.
+       (capture_info::walk_match): Compute same_as.
+       (capture_info::walk_result): Compute stuff for the leader.
+       (capture_info::walk_c_expr): Likewise.
+       (dt_simplify::gen_1): Only look at leaders when deciding
+       to force no side-effects or emit side-effects of omitted operands.
+
+2015-07-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+       * config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER
+       reg note to the GPR -> FPR save instructions.
+
+2015-07-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+       * config/s390/s390.c (s390_rtx_costs): Make risbg patterns
+       cheaper.
+       (s390_expand_insv): Don't generate risbg pattern for constant zero
+       sources.
+       * config/s390/s390.md ("*insv<mode>_zEC12_appendbitsleft")
+       ("*insv<mode>_z10_appendbitsleft"): New pattern definitions.  New
+       splitters.
+
+2015-07-24  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+       * config/s390/s390.c (s390_reorg): Clean up handling of processors
+       with
+       -mtune=
+       (s390_issue_rate): Likewise.
+       (s390_sched_reorder): Likewise.
+       (s390_sched_variable_issue): Likewise.
+       (s390_loop_unroll_adjust): Likewise.
+       (s390_option_override):  Likewise.
+
+2015-07-24  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+       * config/s390/driver-native.c (s390_host_detect_local_cpu): Handle
+       processor capabilities with -march=native.
+       * config/s390/s390.h (MARCH_MTUNE_NATIVE_SPECS): Likewise.
+       (DRIVER_SELF_SPECS): Likewise.  Join specs for 31 and 64 bit.
+       (S390_TARGET_BITS_STRING): Macro to simplify specs.
+
+2015-07-24  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+       * config/s390/s390.c (s390_issue_rate): Handle
+       PROCESSOR_2094_Z9_EC.
+       (s390_option_override): Likewise.
+       (s390_adjust_priority): Likewise.
+
+2015-07-24  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+       * config/s390/s390.h: S390: Do not define EXTRA_SPEC_FUNCTIONS
+       when cross compiling.
+
+2015-07-24  Richard Biener  <rguenther@suse.de>
+
+       * fold-const.c (maybe_canonicalize_comparison_1): Move
+       A code CST canonicalization ...
+       * match.pd: ... to a pattern here.
+
+2015-07-24  Jiong Wang  <jiong.wang@arm.com>
+
+       Revert:
+       2015-07-22  Jiong Wang  <jiong.wang@arm.com>
+       PR target/63521
+       * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
+       (HONOR_REG_ALLOC_ORDER): Define.
+
+2015-07-24  Richard Biener  <rguenther@suse.de>
+
+       * genmatch.c (add_operator): Allow SSA_NAME as predicate.
+       * fold-const.c (fold_comparison): Move parameter does not
+       alias &local simplification ...
+       * match.pd: ... as a pattern here.
+
+2015-07-24  Richard Biener  <rguenther@suse.de>
+
+       * gimple-fold.c (replace_stmt_with_simplification): Special-case
+       valueizing call operands.
+       * gimple-match-head.c (maybe_push_res_to_seq): Take
+       number of call arguments from ops array.
+       (do_valueize): New function.
+       (gimple_simplify): Return true if valueization changed
+       any operand even if the result didn't simplify further.
+
+2015-07-24  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
+
+       PR middle-end/25530
+       * match.pd (mult (trunc_div @0 integer_pow2p@1) @1) : New simplifier.
+
+2015-07-24  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
+
+         PR middle-end/25529
+         * match.pd (trunc_div (mult @0 integer_pow2p@1) @1) : New simplifier.
+
+2015-07-23  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+       * config/arm/arm.c (arm_emit_movpair): Add REG_EQUAL notes to
+       instruction.
+
+2015-07-23  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+       * cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor
+       clean up.
+
+2015-07-23  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_build_builtin_va_list_64): Rename
+       from ix86_build_builtin_va_list_abi.  Handle only 64bit non-MS_ABI
+       targets here.
+       (ix86_build_builtin_va_list): Rewrite sysv_va_list_type_node and
+       ms_va_list_type_node initialization.
+
+2015-07-23  Jeff Law  <law@redhat.com>
+
+       PR lto/66752
+       * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
+       unable to find X NE 0 in the tables, return X as the simplified
+       condition.
+       (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
+       in VISISTED_BBS, then return failure.  Else add nodes from NEXT_PATH
+       to VISISTED_BBS.  */
+       * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
+       after removing the control flow statement and unnecessary edges.
+
+2015-07-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * tree-pass.h (get_current_pass_name): Removed.
+
+2015-07-23  Alexandre Oliva <aoliva@redhat.com>
+
+       PR rtl-optimization/64164
+       * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
+       * tree-ssa-copyrename.c: Removed.
+       * opts.c (default_options_table): Drop -ftree-copyrename.  Add
+       -ftree-coalesce-vars.
+       * passes.def: Drop all occurrences of pass_rename_ssa_copies.
+       * common.opt (ftree-copyrename): Ignore.
+       (ftree-coalesce-inlined-vars): Likewise.
+       * doc/invoke.texi: Remove the ignored options above.
+       * gimple-expr.h (gimple_can_coalesce_p): Move declaration
+       * tree-ssa-coalesce.h: ... here.
+       * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
+       headers required by it.
+       * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
+       across variables when flag_tree_coalesce_vars.  Check register
+       use and promoted modes to allow coalescing.  Moved to
+       tree-ssa-coalesce.c.
+       * tree-ssa-live.c (struct tree_int_map_hasher): Move along
+       with its member functions to tree-ssa-coalesce.c.
+       (var_map_base_init): Likewise.  Renamed to
+       compute_samebase_partition_bases.
+       (partition_view_normal): Drop want_bases parameter.
+       (partition_view_bitmap): Likewise.
+       * tree-ssa-live.h: Adjust declarations.
+       * tree-ssa-coalesce.c: Include explow.h.
+       (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
+       default defs at the entry point.
+       (dump_part_var_map): New.
+       (compute_optimized_partition_bases): New, called by...
+       (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
+       of compute_samebase_partition_bases.  Adjust.
+       * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
+       * cfgexpand.c (leader_merge): New.
+       (get_rtl_for_parm_ssa_default_def): New.
+       (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
+       vars.  Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
+       (expand_one_stack_var_at): Handle anonymous SSA_NAMEs.  Drop
+       redundant MEM attr setting.
+       (expand_one_stack_var_1): Handle anonymous SSA_NAMEs.  Renamed
+       from...
+       (expand_one_stack_var): ... this.  New wrapper to check and
+       skip already expanded SSA partitions.
+       (record_alignment_for_reg_var): New, factored out of...
+       (expand_one_var): ... this.
+       (expand_one_ssa_partition): New.
+       (adjust_one_expanded_partition_var): New.
+       (expand_one_register_var): Check and skip already expanded SSA
+       partitions.
+       (expand_used_vars): Don't create DECLs for anonymous SSA
+       names.  Expand all SSA partitions, then adjust all SSA names.
+       (pass::execute): Replace the loops that set
+       SA.partition_to_pseudo from partition leaders and cleared
+       DECL_RTL for multi-location variables, and that which used to
+       rename vars and set attrs, with one that clears DECL_RTL and
+       checks that PARMs and RESULTs default_defs match DECL_RTL.
+       * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
+       * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
+       * explow.c (promote_ssa_mode): New.
+       * explow.h (promote_ssa_mode): Declare.
+       * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
+       * function.c: Include cfgexpand.h.
+       (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
+       (use_register_for_parm_decl): Wrapper for the above to
+       special-case the result_ptr.
+       (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
+       (split_complex_args): Take assign_parm_data_all argument.
+       Pass it to rtl_for_parm.  Set up rtl and context for split
+       args.
+       (assign_parms_augmented_arg_list): Adjust.
+       (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
+       multiple locations.  Recognize split complex args.
+       (assign_parm_adjust_stack_rtl): Add all and parm arguments,
+       for rtl_for_parm.  For SSA-assigned parms, zero stack_parm.
+       (assign_parm_setup_block): Prefer SSA-assigned location.
+       (assign_parm_setup_reg): Likewise.  Use entry_parm for equiv
+       if stack_parm is NULL.
+       (assign_parm_setup_stack): Prefer SSA-assigned location.
+       (assign_parms): Maybe reset DECL_RTL of params.  Adjust stack
+       rtl before testing for pointer bounds.  Special-case result_ptr.
+       (expand_function_start): Maybe reset DECL_RTL of result.
+       Prefer SSA-assigned location for result and static chain.
+       Factor out DECL_RESULT and SET_DECL_RTL.
+       * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
+       anonymous SSA names.  Use promote_ssa_mode.
+       (get_temp_reg): Likewise.
+       (remove_ssa_form): Adjust.
+       * stor-layout.c (layout_decl): Don't set mem attributes of
+       non-MEMs.
+       * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
+       and get its reg_usage for reg invalidation.
+       (compute_bb_dataflow): Pass it insn.
+       (emit_notes_in_bb): Likewise.
+
+2015-07-23  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/66217
+       * config/rs6000/rs6000-protos.h (rs6000_emit_2insn_and): Change
+       prototype.
+       * config/rs6000/rs6000.c (rs6000_emit_dot_insn): New function.
+       (rs6000_emit_2insn_and): Handle dot forms.
+       * config/rs6000/rs6000.md (and<mode>3): Adjust.
+       (*and<mode>3_2insn): Remove TODO.  Adjust.  Add "type" attr.
+       (*and<mode>3_2insn_dot, *and<mode>3_2insn_dot2): New.
+
+2015-07-23  Richard Biener  <rguenther@suse.de>
+
+       * generic-match-head.c: Include cgraph.h.
+       * gimple-match-head.c: Likewise.
+       * tree-ssa-sccvn.c (free_scc_vn): Guard against newly created
+       SSA names.
+       * fold-const.c (fold_binary_loc): Move &A ==/!= &B simplification...
+       * match.pd: ...to a pattern here.  Add &A ==/!= 0 simplification
+       pattern.
+
+2015-07-23  Richard Biener  <rguenther@suse.de>
+
+       * gimple-fold.c (fold_gimple_cond): Do not require folding
+       results to pass valid_gimple_rhs_p.
+       * tree-cfg.h (fold_cond_expr_cond): Remove.
+       * tree-cfg.c (fold_cond_expr_cond): Likewise.
+       (make_edges): Do not call it.
+       * tree-inline.c (tree_function_versioning): Likewise.
+
+2015-07-23  Tom de Vries  <tom@codesourcery.com>
+
+       * tree-parloops.c (gather_scalar_reductions): Add arg to call to
+       vect_force_simple_reduction.
+       * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Same.
+       (vect_is_simple_reduction_1): Add and handle
+       need_wrapping_integral_overflow parameter.
+       (vect_is_simple_reduction, vect_force_simple_reduction): Add and pass
+       need_wrapping_integral_overflow parameter.
+       (vectorizable_reduction): Add arg to call to vect_is_simple_reduction.
+       * tree-vectorizer.h (vect_force_simple_reduction): Add parameter to
+       decl.
+
+2015-07-23  Yuri Rumyantsev  <ysrumyan@gmail.com>
+
+       PR tree-optimization/66926,66951
+       * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Delete
+       INNER_LOOP and fix up condition for renaming virtual operands.
+
+2015-07-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * combine.c (try_combine): Use std::swap instead of manually
+       swapping.
+
+2015-07-23  Prachi Godbole  <prachi.godbole@imgtec.com>
+
+       * config/mips/i6400.md: New file.
+       * config/mips/mips-cpus.def (mips32r6): Change to PROCESSOR_I6400.
+       (mips64r6): Likewise.
+       (i6400): Define.
+       * config/mips/mips-tables.opt: Regenerate.
+       * config/mips/mips.c (mips_rtx_cost_data): Add I6400 processor.
+       (mips_issue_rate): Add support for i6400.
+       (mips_multipass_dfa_lookahead): Likewise.
+       * config/mips/mips.h (TUNE_I6400): Define.
+       * config/mips/mips.md: Include i6400.md.
+       (processor): Add i6400.
+       * doc/invoke.texi (-march=@var{arch}): Add i6400.
+
+2015-07-23  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/66916
+       * match.pd: Guard widen and sign-change comparison simplification
+       with single_use.
+
+2015-07-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/66945
+       * tree-ssa-propagate.c (substitute_and_fold_dom_walker
+       ::before_dom_children): Force the propagators idea of
+       non-executable edges to materialize, not what the folder
+       chooses.
+
+2015-07-23  Richard Biener  <rguenther@suse.de>
+
+       * gimple.h (gimple_cond_make_false): Use 0 != 0.
+       (gimple_cond_make_true): Use 1 != 0.
+
+2015-07-22  DJ Delorie  <dj@redhat.com>
+
+       * config/msp430/t-msp430 (MULTILIB_DIRNAMES): Remove trailing
+       slashes.
+
+       * config/msp430/msp430.md (ashlhi3): Optimize shifts of subregs.
+       (ashrhi3): Likewise.
+       (lshrhi3): Likewise.
+       (movhi): Take advantage of zero-extend to load small constants.
+       (movpsi): Likewise.
+       (and<mode>3): Likewise.
+       (zero_extendqihi2): Likewise.
+       (zero_extendqisi2): New.
+       * config/msp430/constraints.md (N,O): New.
+       * config/msp430/msp430.h (WORD_REGISTER_OPERATIONS): Define.
+
+2015-07-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/66954
+       * config/i386/i386.c (get_builtin_code_for_version): Add P_AES
+       to enum feature_priority and feature_list.
+       (fold_builtin_cpu): Add F_AES to enum processor_features
+       and isa_names_table.
+
+2015-07-22  Ilya Enkovich  <enkovich.gnu@gmail.com>
+
+       PR driver/66737
+       * config/i386/linux-common.h (MPX_SPEC): Use linker option
+       for 64bit target only.
+
+2015-07-22  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * config/nvptx/nvptx.c: Expand some comments.
+
+2015-07-22  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * config/arm/cortex-a53 (cortex_53_advsimd): Rename to...
+       (cortex_a53_advsimd): ...This.
+
+2015-07-22  Richard Biener  <rguenther@suse.de>
+
+       * genmatch.c (expr::gen_transform): Clarify error message
+       and display location.
+
+2015-07-22  Richard Biener  <rguenther@suse.de>
+
+       * genmatch.c (struct operand): Add location member.
+       (predicate, expr, c_expr, capture, if_expr, with_expr): Adjust
+       constructors.
+       (struct simplify): Remove match_location and result_location
+       members.
+       (elsehwere): Adjust.
+
+2015-07-22  Prachi Godbole  <prachi.godbole@imgtec.com>
+
+       * config/mips/m5100.md: New file.
+       * config/mips/mips-cpus.def (m5100, m5101): Define.
+       * config/mips/mips-tables.opt: Regenerate.
+       * config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100.
+       * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and
+       -march=m5101 to -mips32r5.
+       (MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float.
+       (MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if
+       !-msoft-float.
+       * config/mips/mips.md: Include m5100.md.
+       (processor): Add m5100.
+       * doc/invoke.texi (-march=@var{arch}): Add m5100, m5101.
+
 2015-07-22  Robert Suchanek  <robert.suchanek@imgtec.com>
 
        * config/mips/mips-cpus.def (interaptiv): Define.