1. 08 Aug, 2014 11 commits
    • go-gcc.cc (Gcc_backend::compound_statement): Don't return NULL_TREE. · ff09769f
      	* go-gcc.cc (Gcc_backend::compound_statement): Don't return
      	NULL_TREE.
      
      From-SVN: r213761
      Ian Lance Taylor committed
    • Remove a redundant assignment "*predictor = PRED_BUILTIN_EXPECT;", since six · 7ca26091
      lines later *predictor is assigned again.
      
      --
      
      2014-08-08  Yi Yang  <ahyangyi@google.com>
      
      gcc:
          * predict.c (expr_expected_value_1): Remove the redundant assignment.
      
      From-SVN: r213760
      Yi Yang committed
    • lto-streamer.h (struct lto_input_block): Make it a class with a constructor. · 207c68cd
      2014-08-08  Richard Biener  <rguenther@suse.de>
      
      	* 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.
      
      	lto/
      	* lto.c (lto_read_decls): Adjust for lto_input_block changes.
      
      From-SVN: r213759
      Richard Biener committed
    • gcc/ · 07165dd7
              * 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.
      
      
      Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
      Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
      Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r213757
      Alexander Ivchenko committed
    • re PR lto/62032 (FAIL: vsnprintf-chk.c execution, -O2 -flto… · 7c581d61
      re PR lto/62032 (FAIL: vsnprintf-chk.c execution,  -O2 -flto -fno-use-linker-plugin -flto-partition=none)
      
      
      	PR lto/62032
      	* lto/lto-lang.c (lto_init): Switch mis-matched arguments.
      
      From-SVN: r213755
      Bin Cheng committed
    • builtins.c (c_getstr, [...]): Export. · fef5a0d9
      2014-08-08  Richard Biener  <rguenther@suse.de>
      
      	* 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.
      
      	* gcc.dg/strlenopt-8.c: Remove XFAIL.
      	* gcc.dg/tree-prof/stringop-2.c: Adjust.
      	* gfortran.dg/array_memcpy_4.f90: Likewise.
      	* gfortran.dg/trim_optimize_1.f90: Likewise.
      	* gfortran.dg/trim_optimize_2.f90: Likewise.
      
      From-SVN: r213753
      Richard Biener committed
    • semantics.c (expand_or_defer_fn_1): Check for keep-inline-dllexport that we… · 322d490e
      semantics.c (expand_or_defer_fn_1): Check for keep-inline-dllexport that we operate on a true inline.
      
      	* semantics.c (expand_or_defer_fn_1): Check for keep-inline-dllexport
      	that we operate on a true inline.
      
      From-SVN: r213751
      Kai Tietz committed
    • calls.c (precompute_arguments): Check promoted_for_signed_and_unsigned_p and set the promoted mode. · 8c9a36b7
      gcc
      2014-08-08  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* 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.
      
      gcc/testsuite
      2014-08-08  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* gcc.dg/zero_sign_ext_test.c: New test.
      
      From-SVN: r213750
      Kugan Vivekanandarajah committed
    • calls.c (precompute_arguments): Use new SUBREG_PROMOTED_SET instead of… · 362d42dc
      calls.c (precompute_arguments): Use new SUBREG_PROMOTED_SET instead of SUBREG_PROMOTED_UNSIGNED_SET.
      
      gcc/
      2014-08-08  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* 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.
      
      From-SVN: r213749
      Kugan Vivekanandarajah committed
    • pr61772.c: Skip lto running. · 07ad7382
      
      	* gcc.dg/torture/pr61772.c: Skip lto running.
      
      From-SVN: r213748
      Bin Cheng committed
    • Daily bump. · 1f24d2a2
      From-SVN: r213747
      GCC Administrator committed
  2. 07 Aug, 2014 29 commits