cygwin-stdint.h: Throughout, make type definitions dependent on target architecture...
[gcc.git] / gcc / ChangeLog
index 02a0da2cbee5657a8970b6fcfbba20cf3c9b72c3..f7a84c0b74cdf3c542c92193c2f1061fba919114 100644 (file)
@@ -1,3 +1,364 @@
+2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>
+
+       * config/i386/cygwin-stdint.h: Throughout, make type
+       definitions dependent on target architecture, not host.
+
+2014-08-19  David Malcolm  <dmalcolm@redhat.com>
+
+       * rtl.h (PREV_INSN): Convert to an inline function.  Strengthen
+       the return type from rtx to rtx_insn *,  which will enable various
+       conversions in followup patches.  For now this is is done by a
+       checked cast.
+       (NEXT_INSN): Likewise.
+       (SET_PREV_INSN): Convert to an inline function.  This is intended
+       for use as an lvalue, and so returns an rtx& to allow in-place
+       modification.
+       (SET_NEXT_INSN): Likewise.
+
+2014-07-08  Mark Wielaard  <mjw@redhat.com>
+
+       PR debug/59051
+       * dwarf2out.c (modified_type_die): Handle TYPE_QUAL_RESTRICT.
+
+2014-08-19  Marek Polacek  <polacek@redhat.com>
+
+       PR c/61271
+       * cgraphunit.c (handle_alias_pairs): Fix condition.
+
+2014-08-19  Richard Biener  <rguenther@suse.de>
+
+       * gimple-fold.c (fold_gimple_assign): Properly build a
+       null-pointer constant when devirtualizing addresses.
+
+2014-07-07  Mark Wielaard  <mjw@redhat.com>
+
+       * dwarf2out.c (decl_quals): New function.
+       (modified_type_die): Take one cv_quals argument instead of two,
+       one for const and one for volatile.
+       (add_type_attribute): Likewise.
+       (generic_parameter_die): Call add_type_attribute with one modifier
+       argument.
+       (base_type_for_mode): Likewise.
+       (add_bounds_info): Likewise.
+       (add_subscript_info): Likewise.
+       (gen_array_type_die): Likewise.
+       (gen_descr_array_type_die): Likewise.
+       (gen_entry_point_die): Likewise.
+       (gen_enumeration_type_die): Likewise.
+       (gen_formal_parameter_die): Likewise.
+       (gen_subprogram_die): Likewise.
+       (gen_variable_die): Likewise.
+       (gen_const_die): Likewise.
+       (gen_field_die): Likewise.
+       (gen_pointer_type_die): Likewise.
+       (gen_reference_type_die): Likewise.
+       (gen_ptr_to_mbr_type_die): Likewise.
+       (gen_inheritance_die): Likewise.
+       (gen_subroutine_type_die): Likewise.
+       (gen_typedef_die): Likewise.
+       (force_type_die): Likewise.
+
+2014-08-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (gcc_cv_as_comdat_group_group): Only default to no
+       if unset.
+       * configure: Regenerate.
+
+2014-08-19  Richard Biener  <rguenther@suse.de>
+
+       * lto-streamer-out.c (DFS::DFS_write_tree_body): Stream
+       DECL_EXTERNALs in BLOCKs as non-references.
+       * tree-streamer-out.c (streamer_write_chain): Likewise.
+
+2014-08-19  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+           Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
+           Anna Tikhonova  <anna.tikhonova@intel.com>
+           Ilya Tocar  <ilya.tocar@intel.com>
+           Andrey Turetskiy  <andrey.turetskiy@intel.com>
+           Ilya Verbin  <ilya.verbin@intel.com>
+           Kirill Yukhin  <kirill.yukhin@intel.com>
+           Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
+
+       * config/i386/sse.md
+       (define_mode_iterator VI48_AVX512F): Delete.
+       (define_mode_iterator VI48_AVX512F_AVX512VL): New.
+       (define_mode_iterator VI2_AVX512VL): Ditto.
+       (define_insn "<mask_codefor>avx512f_ufix_notruncv16sfv16si<mask_name><round_name>"):
+       Delete.
+       (define_insn
+       ("<mask_codefor><avx512>_ufix_notrunc<sf2simodelower><mode><mask_name><round_name>"):
+       New.
+       (define_insn "avx512cd_maskw_vec_dup<mode>"): Macroize.
+       (define_insn "<avx2_avx512f>_ashrv<mode><mask_name>"): Delete.
+       (define_insn "<avx2_avx512bw>_ashrv<mode><mask_name>",
+       with VI48_AVX512F_AVX512VL): New.
+       (define_insn "<avx2_avx512bw>_ashrv<mode><mask_name>",
+       with VI2_AVX512VL): Ditto.
+
+2014-08-19  Marek Polacek  <polacek@redhat.com>
+
+       * doc/invoke.texi: Document -Wc99-c11-compat.
+
+2014-08-19  David Malcolm  <dmalcolm@redhat.com>
+
+       * rtl.h (PREV_INSN): Split macro in two: the existing one,
+       for rvalues, and...
+       (SET_PREV_INSN): New macro, for use as an lvalue.
+       (NEXT_INSN, SET_NEXT_INSN): Likewise.
+
+       * caller-save.c (save_call_clobbered_regs): Convert lvalue use of
+       PREV_INSN/NEXT_INSN into SET_PREV_INSN/SET_NEXT_INSN.
+       * cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
+       (fixup_abnormal_edges): Likewise.
+       (unlink_insn_chain): Likewise.
+       (fixup_reorder_chain): Likewise.
+       (cfg_layout_delete_block): Likewise.
+       (cfg_layout_merge_blocks): Likewise.
+       * combine.c (update_cfg_for_uncondjump): Likewise.
+       * emit-rtl.c (link_insn_into_chain): Likewise.
+       (remove_insn): Likewise.
+       (delete_insns_since): Likewise.
+       (reorder_insns_nobb): Likewise.
+       (emit_insn_after_1): Likewise.
+       * final.c (rest_of_clean_state): Likewise.
+       (final_scan_insn): Likewise.
+       * gcse.c (can_assign_to_reg_without_clobbers_p): Likewise.
+       * haifa-sched.c (concat_note_lists): Likewise.
+       (remove_notes): Likewise.
+       (restore_other_notes): Likewise.
+       (move_insn): Likewise.
+       (unlink_bb_notes): Likewise.
+       (restore_bb_notes): Likewise.
+       * jump.c (delete_for_peephole): Likewise.
+       * optabs.c (emit_libcall_block_1): Likewise.
+       * reorg.c (emit_delay_sequence): Likewise.
+       (fill_simple_delay_slots): Likewise.
+       * sel-sched-ir.c (sel_move_insn): Likewise.
+       (sel_remove_insn): Likewise.
+       (get_bb_note_from_pool): Likewise.
+       * sel-sched.c (move_nop_to_previous_block): Likewise.
+
+       * config/bfin/bfin.c (reorder_var_tracking_notes): Likewise.
+       * config/c6x/c6x.c (gen_one_bundle): Likewise.
+       (c6x_gen_bundles): Likewise.
+       (hwloop_optimize): Likewise.
+       * config/frv/frv.c (frv_function_prologue): Likewise.
+       (frv_register_nop): Likewise.
+       * config/ia64/ia64.c (ia64_init_dfa_pre_cycle_insn): Likewise.
+       (ia64_reorg): Likewise.
+       * config/mep/mep.c (mep_reorg_addcombine): Likewise.
+       (mep_make_bundle): Likewise.
+       (mep_bundle_insns): Likewise.
+       * config/picochip/picochip.c (reorder_var_tracking_notes): Likewise.
+       * config/tilegx/tilegx.c (reorder_var_tracking_notes): Likewise.
+       * config/tilepro/tilepro.c (reorder_var_tracking_notes): Likewise.
+
+2014-08-19  David Malcolm  <dmalcolm@redhat.com>
+
+       * basic-block.h (BB_HEAD): Convert to a function.  Strengthen the
+       return type from rtx to rtx_insn *.
+       (BB_END): Likewise.
+       (BB_HEADER): Likewise.
+       (BB_FOOTER): Likewise.
+       (SET_BB_HEAD): Convert to a function.
+       (SET_BB_END): Likewise.
+       (SET_BB_HEADER): Likewise.
+       (SET_BB_FOOTER): Likewise.
+
+       * cfgrtl.c (BB_HEAD): New function, from macro of same name.
+       Strengthen the return type from rtx to rtx_insn *.  For now, this
+       is done by adding a checked cast, but this will eventually
+       become a field lookup.
+       (BB_END): Likewise.
+       (BB_HEADER): Likewise.
+       (BB_FOOTER): Likewise.
+       (SET_BB_HEAD): New function, from macro of same name.  This is
+       intended for use as an lvalue, and so returns an rtx& to allow
+       in-place modification.
+       (SET_BB_END): Likewise.
+       (SET_BB_HEADER): Likewise.
+       (SET_BB_FOOTER): Likewise.
+
+2014-08-18  David Malcolm  <dmalcolm@redhat.com>
+
+       * basic-block.h (BB_HEAD): Split macro in two: the existing one,
+       for rvalues, and...
+       (SET_BB_HEAD): New macro, for use as a lvalue.
+       (BB_END, SET_BB_END): Likewise.
+       (BB_HEADER, SET_BB_HEADER): Likewise.
+       (BB_FOOTER, SET_BB_FOOTER): Likewise.
+
+       * bb-reorder.c (add_labels_and_missing_jumps): Convert lvalue use
+       of BB_* macros into SET_BB_* macros.
+       (fix_crossing_unconditional_branches): Likewise.
+       * caller-save.c (save_call_clobbered_regs): Likewise.
+       (insert_one_insn): Likewise.
+       * cfgbuild.c (find_bb_boundaries): Likewise.
+       * cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise.
+       (outgoing_edges_match): Likewise.
+       (try_optimize_cfg): Likewise.
+       * cfgexpand.c (expand_gimple_cond): Likewise.
+       (expand_gimple_tailcall): Likewise.
+       (expand_gimple_basic_block): Likewise.
+       (construct_exit_block): Likewise.
+       * cfgrtl.c (delete_insn): Likewise.
+       (create_basic_block_structure): Likewise.
+       (rtl_delete_block): Likewise.
+       (rtl_split_block): Likewise.
+       (emit_nop_for_unique_locus_between): Likewise.
+       (rtl_merge_blocks): Likewise.
+       (block_label): Likewise.
+       (try_redirect_by_replacing_jump): Likewise.
+       (emit_barrier_after_bb): Likewise.
+       (fixup_abnormal_edges): Likewise.
+       (record_effective_endpoints): Likewise.
+       (relink_block_chain): Likewise.
+       (fixup_reorder_chain): Likewise.
+       (fixup_fallthru_exit_predecessor): Likewise.
+       (cfg_layout_duplicate_bb): Likewise.
+       (cfg_layout_split_block): Likewise.
+       (cfg_layout_delete_block): Likewise.
+       (cfg_layout_merge_blocks): Likewise.
+       * combine.c (update_cfg_for_uncondjump): Likewise.
+       * emit-rtl.c (add_insn_after): Likewise.
+       (remove_insn): Likewise.
+       (reorder_insns): Likewise.
+       (emit_insn_after_1): Likewise.
+       * haifa-sched.c (get_ebb_head_tail): Likewise.
+       (restore_other_notes): Likewise.
+       (move_insn): Likewise.
+       (sched_extend_bb): Likewise.
+       (fix_jump_move): Likewise.
+       * ifcvt.c (noce_process_if_block): Likewise.
+       (dead_or_predicable): Likewise.
+       * ira.c (update_equiv_regs): Likewise.
+       * reg-stack.c (change_stack): Likewise.
+       * sel-sched-ir.c (sel_move_insn): Likewise.
+       * sel-sched.c (move_nop_to_previous_block): Likewise.
+
+       * config/c6x/c6x.c (hwloop_optimize): Likewise.
+       * config/ia64/ia64.c (emit_predicate_relation_info): Likewise.
+
+2014-08-18  David Malcolm  <dmalcolm@redhat.com>
+
+       * rtl.h (for_each_rtx_in_insn): New function.
+       * rtlanal.c (for_each_rtx_in_insn): Likewise.
+
+2014-08-18  David Malcolm  <dmalcolm@redhat.com>
+
+       * coretypes.h (class rtx_insn): Add forward declaration.
+
+       * rtl.h: Include is-a.h.
+       (struct rtx_def): Add dummy "desc" and "tag" GTY options as a
+       workaround to ensure gengtype knows inheritance is occurring,
+       whilst continuing to use the pre-existing special-casing for
+       rtx_def.
+       (class rtx_insn): New subclass of rtx_def, adding the
+       invariant that we're dealing with something we can sanely use
+       INSN_UID, NEXT_INSN, PREV_INSN on.
+       (is_a_helper <rtx_insn *>::test): New.
+       (is_a_helper <const rtx_insn *>::test): New.
+
+2014-08-18  David Malcolm  <dmalcolm@redhat.com>
+
+       * is-a.h (template<T, U> safe_as_a <U *p>) New function.
+
+2014-08-18  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-visibility.c (update_visibility_by_resolution_info): Do no turn UNDEF
+       comdats as extern.
+
+2014-08-18  Jan Hubicka  <hubicka@ucw.cz>
+
+       * gimple-fold.c (fold_gimple_assign): Do not intorudce referneces
+       to BUILT_IN_UNREACHABLE.
+
+2014-08-18  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/62011
+       * config/i386/x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI):
+       New tune flag.
+       * config/i386/i386.h (TARGET_AVOID_FALSE_DEP_FOR_BMI): New define.
+       * config/i386/i386.md (unspec) <UNSPEC_INSN_FALSE_DEP>: New unspec.
+       (ffs<mode>2): Do not expand with tzcnt for
+       TARGET_AVOID_FALSE_DEP_FOR_BMI.
+       (ffssi2_no_cmove): Ditto.
+       (*tzcnt<mode>_1): Disable for TARGET_AVOID_FALSE_DEP_FOR_BMI.
+       (ctz<mode>2): New expander.
+       (*ctz<mode>2_falsedep_1): New insn_and_split pattern.
+       (*ctz<mode>2_falsedep): New insn.
+       (*ctz<mode>2): Rename from ctz<mode>2.
+       (clz<mode>2_lzcnt): New expander.
+       (*clz<mode>2_lzcnt_falsedep_1): New insn_and_split pattern.
+       (*clz<mode>2_lzcnt_falsedep): New insn.
+       (*clz<mode>2): Rename from ctz<mode>2.
+       (popcount<mode>2): New expander.
+       (*popcount<mode>2_falsedep_1): New insn_and_split pattern.
+       (*popcount<mode>2_falsedep): New insn.
+       (*popcount<mode>2): Rename from ctz<mode>2.
+       (*popcount<mode>2_cmp): Remove.
+       (*popcountsi2_cmp_zext): Ditto.
+
+2014-08-18  Ajit Agarwal  <ajitkum@xilinx.com>
+
+       * config/microblaze/microblaze.c (microblaze_elf_asm_cdtor): New.
+       (microblaze_elf_asm_constructor,microblaze_elf_asm_destructor): New.
+       * config/microblaze/microblaze.h
+       (TARGET_ASM_CONSTRUCTOR,TARGET_ASM_DESTRUCTOR): New Macros.
+
+2014-08-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR other/62168
+       * configure.ac: Set install_gold_as_default to no for
+        --enable-gold=no.
+        * configure: Regenerated.
+
+2014-08-18 Roman Gareev  <gareevroman@gmail.com>
+
+       * Makefile.in: Add definition of ISLLIBS, HOST_ISLLIBS.
+       * config.in: Add undef of HAVE_isl.
+       * configure: Regenerate.
+       * configure.ac: Add definition of HAVE_isl.
+       * graphite-blocking.c: Add checking of HAVE_isl.
+       * graphite-dependences.c: Likewise.
+       * graphite-interchange.c: Likewise.
+       * graphite-isl-ast-to-gimple.c: Likewise.
+       * graphite-optimize-isl.c: Likewise.
+       * graphite-poly.c: Likewise.
+       * graphite-scop-detection.c: Likewise.
+       * graphite-sese-to-poly.c: Likewise.
+       * graphite.c: Likewise.
+       * toplev.c: Replace the checking of HAVE_cloog with the checking
+       of HAVE_isl.
+
+2014-08-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/62090
+       * builtins.c (fold_builtin_snprintf): Move to gimple-fold.c.
+       (fold_builtin_3): Do not fold snprintf.
+       (fold_builtin_4): Likewise.
+       * gimple-fold.c (gimple_fold_builtin_snprintf): New function
+       moved from builtins.c.
+       (gimple_fold_builtin_with_strlen): Fold snprintf and sprintf.
+       (gimple_fold_builtin): Do not fold sprintf here.
+
+2014-08-18  Richard Biener  <rguenther@suse.de>
+
+       * gimple-fold.c (maybe_fold_reference): Move re-gimplification
+       code to ...
+       (maybe_canonicalize_mem_ref_addr): ... this function.
+       (fold_stmt_1): Apply it here before all simplification.
+
+2014-08-18  Ilya Enkovich  <ilya.enkovich@intel.com>
+
+       PR ipa/61800
+       * cgraph.h (cgraph_node::create_indirect_edge): Add
+       compute_indirect_info param.
+       * cgraph.c (cgraph_node::create_indirect_edge): Compute
+       indirect_info only when it is required.
+       * cgraphclones.c (cgraph_clone_edge): Do not recompute
+       indirect_info fore cloned indirect edge.
+
 2014-08-18  Alexander Ivchenko  <alexander.ivchenko@intel.com>
            Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
            Anna Tikhonova  <anna.tikhonova@intel.com>