X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gcc%2FChangeLog;h=e1a4b56e3949a3ce9257181ff17d66660f0eb48d;hb=c7cf969cdbc688e0e6d486cf62e85be1e4ca4218;hp=8eba08d457f4e00ca8c22d9e778080f5421e7c70;hpb=9f25a338f91f9c448d57681b6d17a91233222d43;p=platform%2Fupstream%2Fgcc.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8eba08d..e1a4b56 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,535 @@ +2014-08-12 Jakub Jelinek + + PR target/62025 + * sched-deps.c (find_inc): Check if inc_insn doesn't clobber + any registers that are used in mem_insn. + +2014-08-12 Steve Ellcey + + * config/mips/mips.h (ASM_SPEC): Pass float options to assembler. + +2014-08-12 Steve Ellcey + + * config/mips/t-mti-elf (MULTILIB_OPTIONS): Remove fp64 multilib. + (MULTILIB_DIRNAMES): Ditto. + * config/mips/t-mti-elf (MULTILIB_OPTIONS): Ditto. + * config/mips/t-mti-elf (MULTILIB_EXCEPTIONS): Ditto. + * config/mips/t-mti-linux (MULTILIB_OPTIONS): Ditto. + * config/mips/t-mti-linux (MULTILIB_DIRNAMES): Ditto. + * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Ditto. + * config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Ditto. + +2014-08-12 Ramana Radhakrishnan + + PR target/61413 + * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix definition + of __ARM_SIZEOF_WCHAR_T. + +2014-08-12 Ramana Radhakrishnan + + PR target/62098 + * config/arm/vfp.md (*combine_vcvtf2i): Fix constraint. + Remove unnecessary attributes. + +2014-08-12 Yury Gribov + + * internal-fn.c (init_internal_fns): Fix off-by-one. + +2014-08-12 Alexander Ivchenko + Maxim Kuznetsov + Anna Tikhonova + Ilya Tocar + Andrey Turetskiy + Ilya Verbin + Kirill Yukhin + Michael Zolotukhin + + * config/i386/i386.c (standard_sse_constant_opcode): Use + vpxord/vpternlog if avx512 is availible. + +2014-08-12 Thomas Preud'homme + + PR middle-end/62103 + * gimple-fold.c (fold_ctor_reference): Don't fold in presence of + bitfields, that is when size doesn't match the size of type or the + size of the constructor. + +2014-08-11 Michael Meissner + + * config/rs6000/constraints.md (wh constraint): New constraint, + for FP registers if direct move is available. + (wi constraint): New constraint, for VSX/FP registers that can + handle 64-bit integers. + (wj constraint): New constraint for VSX/FP registers that can + handle 64-bit integers for direct moves. + (wk constraint): New constraint for VSX/FP registers that can + handle 64-bit doubles for direct moves. + (wy constraint): Make documentation match implementation. + + * config/rs6000/rs6000.c (struct rs6000_reg_addr): Add + scalar_in_vmx_p field to simplify tests of whether SFmode or + DFmode can go in the Altivec registers. + (rs6000_hard_regno_mode_ok): Use scalar_in_vmx_p field. + (rs6000_setup_reg_addr_masks): Likewise. + (rs6000_debug_print_mode): Add debug support for scalar_in_vmx_p + field, and wh/wi/wj/wk constraints. + (rs6000_init_hard_regno_mode_ok): Setup scalar_in_vmx_p field, and + the wh/wi/wj/wk constraints. + (rs6000_preferred_reload_class): If SFmode/DFmode can go in the + upper registers, prefer VSX registers unless the operation is a + memory operation with REG+OFFSET addressing. + + * config/rs6000/vsx.md (VSr mode attribute): Add support for + DImode. Change SFmode to use ww constraint instead of d to allow + SF registers in the upper registers. + (VSr2): Likewise. + (VSr3): Likewise. + (VSr5): Fix thinko in comment. + (VSa): New mode attribute that is an alternative to wa, that + returns the VSX register class that a mode can go in, but may not + be the preferred register class. + (VS_64dm): New mode attribute for appropriate register classes for + referencing 64-bit elements of vectors for direct moves and normal + moves. + (VS_64reg): Likewise. + (vsx_mov): Change wa constraint to to limit the + register allocator to only registers the data type can handle. + (vsx_le_perm_load_): Likewise. + (vsx_le_perm_store_): Likewise. + (vsx_xxpermdi2_le_): Likewise. + (vsx_xxpermdi4_le_): Likewise. + (vsx_lxvd2x2_le_): Likewise. + (vsx_lxvd2x4_le_): Likewise. + (vsx_stxvd2x2_le_): Likewise. + (vsx_add3): Likewise. + (vsx_sub3): Likewise. + (vsx_mul3): Likewise. + (vsx_div3): Likewise. + (vsx_tdiv3_internal): Likewise. + (vsx_fre2): Likewise. + (vsx_neg2): Likewise. + (vsx_abs2): Likewise. + (vsx_nabs2): Likewise. + (vsx_smax3): Likewise. + (vsx_smin3): Likewise. + (vsx_sqrt2): Likewise. + (vsx_rsqrte2): Likewise. + (vsx_tsqrt2_internal): Likewise. + (vsx_fms4): Likewise. + (vsx_nfma4): Likewise. + (vsx_eq): Likewise. + (vsx_gt): Likewise. + (vsx_ge): Likewise. + (vsx_eq_p): Likewise. + (vsx_gt_p): Likewise. + (vsx_ge_p): Likewise. + (vsx_xxsel): Likewise. + (vsx_xxsel_uns): Likewise. + (vsx_copysign3): Likewise. + (vsx_float2): Likewise. + (vsx_floatuns2): Likewise. + (vsx_fix_trunc2): Likewise. + (vsx_fixuns_trunc2): Likewise. + (vsx_xri): Likewise. + (vsx_xric): Likewise. + (vsx_btrunc2): Likewise. + (vsx_b2trunc2): Likewise. + (vsx_floor2): Likewise. + (vsx_ceil2): Likewise. + (vsx_): Likewise. + (vsx_xscvspdp): Likewise. + (vsx_xvcvspuxds): Likewise. + (vsx_float_fix_2): Likewise. + (vsx_set_): Likewise. + (vsx_extract__internal1): Likewise. + (vsx_extract__internal2): Likewise. + (vsx_extract__load): Likewise. + (vsx_extract__store): Likewise. + (vsx_splat_): Likewise. + (vsx_xxspltw_): Likewise. + (vsx_xxspltw__direct): Likewise. + (vsx_xxmrghw_): Likewise. + (vsx_xxmrglw_): Likewise. + (vsx_xxsldwi_): Likewise. + (vsx_xscvdpspn): Tighten constraints to only use register classes + the types use. + (vsx_xscvspdpn): Likewise. + (vsx_xscvdpspn_scalar): Likewise. + + * config/rs6000/rs6000.h (enum rs6000_reg_class_enum): Add wh, wi, + wj, and wk constraints. + (GPR_REG_CLASS_P): New helper macro for register classes targeting + general purpose registers. + + * config/rs6000/rs6000.md (f32_dm): Use wh constraint for SDmode + direct moves. + (zero_extendsidi2_lfiwz): Use wj constraint for direct move of + DImode instead of wm. Use wk constraint for direct move of DFmode + instead of wm. + (extendsidi2_lfiwax): Likewise. + (lfiwax): Likewise. + (lfiwzx): Likewise. + (movdi_internal64): Likewise. + + * doc/md.texi (PowerPC and IBM RS6000): Document wh, wi, wj, and + wk constraints. Make the wy constraint documentation match them + implementation. + +2014-08-11 Mircea Namolaru + + Replacement of isl_int by isl_val + * graphite-clast-to-gimple.c: include isl/val.h, isl/val_gmp.h + (compute_bounds_for_param): use isl_val instead of isl_int + (compute_bounds_for_loop): likewise + * graphite-interchange.c: include isl/val.h, isl/val_gmp.h + (build_linearized_memory_access): use isl_val instead of isl_int + (pdr_stride_in_loop): likewise + * graphite-optimize-isl.c: + (getPrevectorMap): use isl_val instead of isl_int + * graphite-poly.c: + (pbb_number_of_iterations_at_time): use isl_val instead of isl_int + graphite-sese-to-poly.c: include isl/val.h, isl/val_gmp.h + (extern the_isl_ctx): declare + (build_pbb_scattering_polyhedrons): use isl_val instead of isl_int + (extract_affine_gmp): likewise + (wrap): likewise + (build_loop_iteration_domains): likewise + (add_param_constraints): likewise + +2014-08-11 Richard Biener + + PR tree-optimization/62075 + * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Properly + handle uses in patterns. + +2014-08-11 Alexander Ivchenko + Maxim Kuznetsov + Anna Tikhonova + Ilya Tocar + Andrey Turetskiy + Ilya Verbin + Kirill Yukhin + Michael Zolotukhin + + * common/config/i386/i386-common.c + (OPTION_MASK_ISA_AVX512VL_SET): Define. + (OPTION_MASK_ISA_AVX512F_UNSET): Update. + (ix86_handle_option): Handle OPT_mavx512vl. + * config/i386/cpuid.h (bit_AVX512VL): Define. + * config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512vl, + set -mavx512vl accordingly. + * config/i386/i386-c.c (ix86_target_macros_internal): Handle + OPTION_MASK_ISA_AVX512VL. + * config/i386/i386.c (ix86_target_string): Handle -mavx512vl. + (ix86_option_override_internal): Define PTA_AVX512VL, handle + PTA_AVX512VL and OPTION_MASK_ISA_AVX512VL. + (ix86_valid_target_attribute_inner_p): Handle OPT_mavx512vl. + * config/i386/i386.h (TARGET_AVX512VL): Define. + (TARGET_AVX512VL_P(x)): Ditto. + * config/i386/i386.opt: Add mavx512vl. + +2014-08-11 Felix Yang + + PR tree-optimization/62073 + * tree-vect-loop.c (vect_is_simple_reduction_1): Check that DEF1 has + a basic block. + +2014-08-11 Alexander Ivchenko + Maxim Kuznetsov + Anna Tikhonova + Ilya Tocar + Andrey Turetskiy + Ilya Verbin + Kirill Yukhin + Michael Zolotukhin + + * common/config/i386/i386-common.c + (OPTION_MASK_ISA_AVX512BW_SET) : Define. + (OPTION_MASK_ISA_AVX512BW_UNSET): Ditto. + (OPTION_MASK_ISA_AVX512VL_UNSET) : Ditto. + (ix86_handle_option): Handle OPT_mavx512bw. + * config/i386/cpuid.h (bit_AVX512BW): Define. + * config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512bw, + set -mavx512bw accordingly. + * config/i386/i386-c.c (ix86_target_macros_internal): Handle + OPTION_MASK_ISA_AVX512BW. + * config/i386/i386.c (ix86_target_string): Handle -mavx512bw. + (ix86_option_override_internal): Define PTA_AVX512BW, handle + PTA_AVX512BW and OPTION_MASK_ISA_AVX512BW. + (ix86_valid_target_attribute_inner_p): Handle OPT_mavx512bw. + * config/i386/i386.h (TARGET_AVX512BW): Define. + (TARGET_AVX512BW_P(x)): Ditto. + * config/i386/i386.opt: Add mavx512bw. + +2014-08-11 Richard Biener + + PR tree-optimization/62070 + * tree-ssa-loop-manip.c (gimple_duplicate_loop_to_header_edge): + Remove SSA checking. + +2014-08-11 Yury Gribov + + * asan.c (asan_check_flags): New enum. + (build_check_stmt_with_calls): Removed function. + (build_check_stmt): Split inlining logic to + asan_expand_check_ifn. + (instrument_derefs): Rename parameter. + (instrument_mem_region_access): Rename parameter. + (instrument_strlen_call): Likewise. + (asan_expand_check_ifn): New function. + (asan_instrument): Remove old code. + (pass_sanopt::execute): Change handling of + asan-instrumentation-with-call-threshold. + (asan_clear_shadow): Fix formatting. + (asan_function_start): Likewise. + (asan_emit_stack_protection): Likewise. + * doc/invoke.texi (asan-instrumentation-with-call-threshold): + Update description. + * internal-fn.c (expand_ASAN_CHECK): New function. + * internal-fn.def (ASAN_CHECK): New internal function. + * params.def (PARAM_ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD): + Update description. + (PARAM_ASAN_USE_AFTER_RETURN): Likewise. + * tree.c: Small comment fix. + +2014-08-11 Yury Gribov + + * gimple.c (gimple_call_fnspec): Support internal functions. + (gimple_call_return_flags): Use const. + * Makefile.in (GTFILES): Add internal-fn.h to list of GC files. + * internal-fn.def: Add fnspec information. + * internal-fn.h (internal_fn_fnspec): New function. + (init_internal_fns): Declare new function. + * internal-fn.c (internal_fn_fnspec_array): New global variable. + (init_internal_fns): New function. + * tree-core.h: Update macro call. + * tree.c (build_common_builtin_nodes): Initialize internal fns. + +2014-08-10 Gerald Pfeifer + + * lto-streamer.h (struct output_block::symbol): Change from + struct symtab_node to plain symtab_node. + (referenced_from_this_partition_p): Change first parameter + from struct symtab_node to plain symtab_node. + +2014-08-10 Marek Polacek + + PR c/51849 + * gcc/doc/invoke.texi: Document -Wc90-c99-compat. + +2014-08-09 Jan Hubicka + + * ipa-devirt.c (get_dynamic_type): Handle case when instance is in + DECL correctly; do not give up on types in static storage. + +2014-08-09 Paolo Carlini + + * doc/invoke.texi ([Wnarrowing]): Update for non-constants in C++11. + +2014-08-09 Roman Gareev + + * graphite-isl-ast-to-gimple.c: + (translate_isl_ast_node_user): Use nb_loops instead of loop->num + 1. + + * gcc.dg/graphite/isl-ast-gen-user-1.c: New testcase. + +2014-08-08 Guozhi Wei + + * config/rs6000/rs6000.md (*movdi_internal64): Add a new constraint. + +2014-08-08 Cary Coutant + + * dwarf2out.c (get_skeleton_type_unit): Remove. + (output_skeleton_debug_sections): Remove skeleton type units. + (output_comdat_type_unit): Likewise. + (dwarf2out_finish): Likewise. + +2014-08-07 Yi Yang + + * predict.c (expr_expected_value_1): Remove the redundant assignment. + +2014-08-08 Richard Biener + + * lto-streamer.h (struct lto_input_block): Make it a class + with a constructor. + (LTO_INIT_INPUT_BLOCK, LTO_INIT_INPUT_BLOCK_PTR): Remove. + (struct lto_function_header, struct lto_simple_header, + struct lto_simple_header_with_strings, + struct lto_decl_header, struct lto_function_header): Make + a simple inheritance hieararchy. Remove unused fields. + (struct lto_asm_header): Remove. + * lto-streamer-out.c (produce_asm): Adjust. + (lto_output_toplevel_asms): Likewise. + (produce_asm_for_decls): Likewise. + * lto-section-out.c (lto_destroy_simple_output_block): Likewise. + * data-streamer-in.c (string_for_index): Likewise. + * ipa-inline-analysis.c (inline_read_section): Likewise. + * ipa-prop.c (ipa_prop_read_section): Likewise. + (read_replacements_section): Likewise. + * lto-cgraph.c (input_cgraph_opt_section): Likewise. + * lto-section-in.c (lto_create_simple_input_block): Likewise. + (lto_destroy_simple_input_block): Likewise. + * lto-streamer-in.c (lto_read_body_or_constructor): Likewise. + (lto_input_toplevel_asms): Likewise. + +2014-08-08 Alexander Ivchenko + Maxim Kuznetsov + Anna Tikhonova + Ilya Tocar + Andrey Turetskiy + Ilya Verbin + Kirill Yukhin + Michael Zolotukhin + + * common/config/i386/i386-common.c + (OPTION_MASK_ISA_AVX512DQ_SET): Define. + (OPTION_MASK_ISA_AVX512DQ_UNSET): Ditto. + (ix86_handle_option): Handle OPT_mavx512dq. + * config/i386/cpuid.h (bit_AVX512DQ): Define. + * config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512dq, + set -mavx512dq accordingly. + * config/i386/i386-c.c (ix86_target_macros_internal): Handle + OPTION_MASK_ISA_AVX512DQ. + * config/i386/i386.c (ix86_target_string): Handle -mavx512dq. + (ix86_option_override_internal): Define PTA_AVX512DQ, handle + PTA_AVX512DQ and OPTION_MASK_ISA_AVX512DQ. + (ix86_valid_target_attribute_inner_p): Handle OPT_mavx512dq. + * config/i386/i386.h (TARGET_AVX512DQ): Define. + (TARGET_AVX512DQ_P(x)): Ditto. + * config/i386/i386.opt: Add mavx512dq. + +2014-08-08 Richard Biener + + * builtins.c (c_getstr, readonly_data_expr, init_target_chars, + target_percent, target_percent_s): Export. + (var_decl_component_p, fold_builtin_memory_op, fold_builtin_memset, + fold_builtin_bzero, fold_builtin_strcpy, fold_builtin_strncpy, + fold_builtin_strcat, fold_builtin_fputs, fold_builtin_memory_chk, + fold_builtin_stxcpy_chk, fold_builtin_stxncpy_chk, + fold_builtin_sprintf_chk_1, fold_builtin_snprintf_chk_1): + Move to gimple-fold.c. + (fold_builtin_2): Remove handling of bzero, fputs, fputs_unlocked, + strcat and strcpy. + (fold_builtin_3): Remove handling of memset, bcopy, memcpy, + mempcpy, memmove, strncpy, strcpy_chk and stpcpy_chk. + (fold_builtin_4): Remove handling of memcpy_chk, mempcpy_chk, + memmove_chk, memset_chk, strncpy_chk and stpncpy_chk. + (rewrite_call_expr_array): Remove. + (fold_builtin_sprintf_chk): Likewise. + (fold_builtin_snprintf_chk): Likewise. + (fold_builtin_varargs): Remove handling of sprintf_chk, + vsprintf_chk, snprintf_chk and vsnprintf_chk. + (gimple_fold_builtin_sprintf_chk): Remove. + (gimple_fold_builtin_snprintf_chk): Likewise. + (gimple_fold_builtin_varargs): Likewise. + (fold_call_stmt): Do not call gimple_fold_builtin_varargs. + * predict.c (optimize_bb_for_size_p): Handle NULL bb. + * gimple.c (gimple_seq_add_seq_without_update): New function. + * gimple.h (gimple_seq_add_seq_without_update): Declare. + * gimple-fold.c: Include output.h. + (gsi_replace_with_seq_vops): New function, split out from ... + (gimplify_and_update_call_from_tree): ... here. + (replace_call_with_value): New function. + (replace_call_with_call_and_fold): Likewise. + (var_decl_component_p): Moved from builtins.c. + (gimple_fold_builtin_memory_op): Moved from builtins.c + fold_builtin_memory_op and rewritten to GIMPLE. + (gimple_fold_builtin_memset): Likewise. + (gimple_fold_builtin_strcpy): Likewise. + (gimple_fold_builtin_strncpy): Likewise. + (gimple_fold_builtin_strcat): Likewise. + (gimple_fold_builtin_fputs): Likewise. + (gimple_fold_builtin_memory_chk): Likewise. + (gimple_fold_builtin_stxcpy_chk): Likewise. + (gimple_fold_builtin_stxncpy_chk): Likewise. + (gimple_fold_builtin_snprintf_chk): Likewise. + (gimple_fold_builtin_sprintf_chk): Likewise. + (gimple_fold_builtin_strlen): New function. + (gimple_fold_builtin_with_strlen): New function split out from + gimple_fold_builtin. + (gimple_fold_builtin): Change signature and handle + bzero, memset, bcopy, memcpy, mempcpy and memmove folding + here. Call gimple_fold_builtin_with_strlen. + (gimple_fold_call): Adjust. + +2014-08-08 Kugan Vivekanandarajah + + * calls.c (precompute_arguments): Check + promoted_for_signed_and_unsigned_p and set the promoted mode. + (promoted_for_signed_and_unsigned_p): New function. + (expand_expr_real_1): Check promoted_for_signed_and_unsigned_p + and set the promoted mode. + * expr.h (promoted_for_signed_and_unsigned_p): New function definition. + * cfgexpand.c (expand_gimple_stmt_1): Call emit_move_insn if + SUBREG is promoted with SRP_SIGNED_AND_UNSIGNED. + + +2014-08-08 Kugan Vivekanandarajah + + * calls.c (precompute_arguments): Use new SUBREG_PROMOTED_SET + instead of SUBREG_PROMOTED_UNSIGNED_SET. + (expand_call): Likewise. + * cfgexpand.c (expand_gimple_stmt_1): Use SUBREG_PROMOTED_SIGN + to get promoted mode. + * combine.c (record_promoted_value): Skip > 0 comparison with + SUBREG_PROMOTED_UNSIGNED_P as it now returns only 0 or 1. + * expr.c (convert_move): Use SUBREG_CHECK_PROMOTED_SIGN instead + of SUBREG_PROMOTED_UNSIGNED_P. + (convert_modes): Likewise. + (store_expr): Use SUBREG_PROMOTED_SIGN to get promoted mode. + Use SUBREG_CHECK_PROMOTED_SIGN instead of SUBREG_PROMOTED_UNSIGNED_P. + (expand_expr_real_1): Use new SUBREG_PROMOTED_SET instead of + SUBREG_PROMOTED_UNSIGNED_SET. + * function.c (assign_parm_setup_reg): Use new SUBREG_PROMOTED_SET + instead of SUBREG_PROMOTED_UNSIGNED_SET. + * ifcvt.c (noce_emit_cmove): Updated to use SUBREG_PROMOTED_GET and + SUBREG_PROMOTED_SET. + * internal-fn.c (ubsan_expand_si_overflow_mul_check): Use + SUBREG_PROMOTED_SET instead of SUBREG_PROMOTED_UNSIGNED_SET. + * optabs.c (widen_operand): Use SUBREG_CHECK_PROMOTED_SIGN instead + of SUBREG_PROMOTED_UNSIGNED_P. + * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Remove. + (SUBREG_PROMOTED_SET): New define. + (SUBREG_PROMOTED_GET): Likewise. + (SUBREG_PROMOTED_SIGN): Likewise. + (SUBREG_PROMOTED_SIGNED_P): Likewise. + (SUBREG_CHECK_PROMOTED_SIGN): Likewise. + (SUBREG_PROMOTED_UNSIGNED_P): Updated. + * rtlanal.c (unsigned_reg_p): Use new SUBREG_PROMOTED_GET + instead of SUBREG_PROMOTED_UNSIGNED_GET. + (nonzero_bits1): Skip > 0 comparison with the results as + SUBREG_PROMOTED_UNSIGNED_P now returns only 0 or 1. + (num_sign_bit_copies1): Use SUBREG_PROMOTED_SIGNED_P instead + of !SUBREG_PROMOTED_UNSIGNED_P. + * simplify-rtx.c (simplify_unary_operation_1): Use new + SUBREG_PROMOTED_SIGNED_P instead of !SUBREG_PROMOTED_UNSIGNED_P. + (simplify_subreg): Use new SUBREG_PROMOTED_SIGNED_P, + SUBREG_PROMOTED_UNSIGNED_P and SUBREG_PROMOTED_SET instead of + SUBREG_PROMOTED_UNSIGNED_P and SUBREG_PROMOTED_UNSIGNED_SET. + +2014-08-07 Jan Hubicka + + * ipa-devirt.c: Include gimple-pretty-print.h + (referenced_from_vtable_p): Exclude DECL_EXTERNAL from + further tests. + (decl_maybe_in_construction_p): Fix conditional on cdtor check + (get_polymorphic_call_info): Fix return value + (type_change_info): New sturcture based on ipa-prop + variant. + (noncall_stmt_may_be_vtbl_ptr_store): New predicate + based on ipa-prop variant. + (extr_type_from_vtbl_ptr_store): New function + based on ipa-prop variant. + (record_known_type): New function. + (check_stmt_for_type_change): New function. + (get_dynamic_type): New function. + * ipa-prop.c (ipa_analyze_call_uses): Use get_dynamic_type. + * tree-ssa-pre.c: ipa-utils.h + (eliminate_dom_walker::before_dom_children): Use ipa-devirt + machinery; sanity check with ipa-prop devirtualization. + * trans-mem.c (ipa_tm_insert_gettmclone_call): Clear + polymorphic flag. + 2014-08-07 Trevor Saunders * Makefile.in: Remove references to pointer-set.c and pointer-set.h. @@ -84,7 +616,7 @@ 2014-08-07 Marek Polacek - * fold-const.c (fold_binary_loc): Add folding of + * fold-const.c (fold_binary_loc): Add folding of (PTR0 - (PTR1 p+ A) -> (PTR0 - PTR1) - A. 2013-08-07 Ilya Enkovich @@ -272,10 +804,10 @@ 2014-08-05 Roman Gareev * graphite-isl-ast-to-gimple.c: Add a new struct ast_build_info. - (translate_isl_ast_for_loop): Add checking of the + (translate_isl_ast_for_loop): Add checking of the flag_loop_parallelize_all. (ast_build_before_for): New function. - (scop_to_isl_ast): Add checking of the + (scop_to_isl_ast): Add checking of the flag_loop_parallelize_all. * graphite-dependences.c: Move the defenition of the scop_get_dependences from graphite-optimize-isl.c to this file. @@ -407,7 +939,8 @@ 2014-08-01 Jan Hubicka - * doc/invoke.texi (Wsuggest-final-types, Wsuggest-final-methods): Document. + * doc/invoke.texi (Wsuggest-final-types, Wsuggest-final-methods): + Document. * ipa-devirt.c: Include hash-map.h (struct polymorphic_call_target_d): Add type_warning and decl_warning. (clear_speculation): Break out of ... @@ -416,15 +949,16 @@ (odr_type_warn_count, decl_warn_count): New structures. (final_warning_record): New structure. (final_warning_records): New static variable. - (possible_polymorphic_call_targets): Cleanup handling of speculative info; - do not build speculation when user do not care; record info about warnings - when asked for. + (possible_polymorphic_call_targets): Cleanup handling of + speculative info; do not build speculation when user do not care; + record info about warnings when asked for. (add_decl_warning): New function. (type_warning_cmp): New function. (decl_warning_cmp): New function. (ipa_devirt): Handle -Wsuggest-final-methods and -Wsuggest-final-types. (gate): Enable pass when warnings are requested. - * common.opt (Wsuggest-final-types, Wsuggest-final-methods): New options. + * common.opt (Wsuggest-final-types, Wsuggest-final-methods): New + options. 2014-08-02 Trevor Saunders