1. 11 Aug, 2014 14 commits
    • frame-pointer-1.c: Skip if Thumb is not supported. · e2e4599a
      	* gcc.target/arm/frame-pointer-1.c: Skip if Thumb is not supported.
      	* gcc.target/arm/pr56184.C: Likewise.
      	* gcc.target/arm/pr59896.c: Likewise.
      	* gcc.target/arm/stack-red-zone.c: Likewise.
      	* gcc.target/arm/thumb-find-work-register.c: Likewise.
      
      From-SVN: r213819
      Janis Johnson committed
    • target-supports.exp (check_effective_target_arm_thumb1_ok, [...]): Test with… · 904b40e7
      target-supports.exp (check_effective_target_arm_thumb1_ok, [...]): Test with code that passes an argument and returns a result.
      
      	* lib/target-supports.exp (check_effective_target_arm_thumb1_ok,
      	check_effective_target_arm_thumb2_ok): Test with code that passes
      	an argument and returns a result.
      
      From-SVN: r213818
      Janis Johnson committed
    • Replacement of isl_int by isl_val · b47595f7
      From-SVN: r213816
      Mircea Namolaru committed
    • re PR tree-optimization/62075 (Vectorizer ICE on dolphin) · 7cadcdc1
      2014-08-11  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/62075
      	* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Properly
      	handle uses in patterns.
      
      	* gcc.dg/vect/pr62075.c: New testcase.
      
      From-SVN: r213815
      Richard Biener committed
    • gcc/ · f4af595f
              * 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.
      
      
      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: r213813
      Alexander Ivchenko committed
    • re PR c/62073 (Segmentation fault with tree vectorize) · d4759fc6
      2014-08-11  Felix Yang  <fei.yang0953@gmail.com>
      
      	PR tree-optimization/62073
      	* tree-vect-loop.c (vect_is_simple_reduction_1): Check that DEF1 has
      	a basic block.
      
      	* gcc.dg/vect/pr62073.c: New test.
      
      From-SVN: r213812
      Felix Yang committed
    • i386-common.c (OPTION_MASK_ISA_AVX512BW_SET): Define. · b525d943
      gcc/
              * 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.
      
      
      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: r213811
      Alexander Ivchenko committed
    • re PR tree-optimization/62070 (ICE: verify_ssa failed) · 5f732aeb
      2014-08-11  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/62070
      	* tree-ssa-loop-manip.c (gimple_duplicate_loop_to_header_edge):
      	Remove SSA checking.
      
      	* gcc.dg/pr62070.c: New testcase.
      
      From-SVN: r213810
      Richard Biener committed
    • re PR fortran/61950 (Many 64-bit fortran allocate tests FAIL) · 5ff0f237
      2014-08-11  Richard Biener  <rguenther@suse.de>
      
              PR fortran/61950
      	* trans-expr.c (gfc_conv_structure): Initialize _size with
      	a value of proper type.
      
      From-SVN: r213809
      Richard Biener committed
    • texi2pod.pl (postprocess): Move command process for '@sc' to the front of '@dfn'. · 6f853fd4
      	* texi2pod.pl (postprocess): Move command process for '@sc' to the
      	front of '@dfn'.  Add a new command process for '@t{...}', just print
      	the content.
      
      From-SVN: r213808
      Mingjie Xing committed
    • Move inlining of Asan memory checks to sanopt pass. · c62ccb9a
      Change asan-instrumentation-with-call-threshold to more closely match LLVM.
      
      2014-08-11  Yury Gribov  <y.gribov@samsung.com>
      
      gcc/
      	* 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.
      
      gcc/testsuite/
      	* c-c++-common/asan/inc.c: Update test.
      	* c-c++-common/asan/instrument-with-calls-2.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-1.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-2.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-3.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-4.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-5.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-6.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-7.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-8.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-9.c: Likewise.
      
      From-SVN: r213807
      Yury Gribov committed
    • Added fnspec to internal functions. · b78475cf
      2014-08-11  Yury Gribov  <y.gribov@samsung.com>
      
      gcc/
              * 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.
      
      From-SVN: r213806
      Yury Gribov committed
    • lto-streamer.h (struct output_block::symbol): Change from struct symtab_node to plain symtab_node. · f473c082
      	* 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.
      
      From-SVN: r213805
      Gerald Pfeifer committed
    • Daily bump. · de703817
      From-SVN: r213804
      GCC Administrator committed
  2. 10 Aug, 2014 2 commits
    • re PR c/51849 (-Wc99-compat would be considered useful) · f3bede71
      	PR c/51849
      gcc/
      	* gcc/doc/invoke.texi: Document -Wc90-c99-compat.
      gcc/c-family/
      	* c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
      	* c.opt (Wc90-c99-compat): Add option.
      gcc/c/
      	* c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
      	Call pedwarn_c90 instead of pedwarn.
      	(check_bitfield_type_and_width): Likewise.
      	(declspecs_add_qual): Likewise.
      	(declspecs_add_type): Likewise.
      	(warn_variable_length_array): Unify function for -pedantic and -Wvla.
      	Adjust to only call pedwarn_c90.
      	(grokdeclarator): Remove pedantic && !flag_isoc99 check.  Call
      	pedwarn_c90 instead of pedwarn.
      	* c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
      	* c-parser.c (disable_extension_diagnostics): Handle
      	warn_c90_c99_compat.
      	(restore_extension_diagnostics): Likewise.
      	(c_parser_enum_specifier): Remove check for !flag_isoc99.  Call
      	pedwarn_c90 instead of pedwarn.
      	(c_parser_initelt): Likewise.
      	(c_parser_postfix_expression): Likewise.
      	(c_parser_postfix_expression_after_paren_type): Likewise.
      	(c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
      	* c-tree.h: Fix formatting.
      	* c-typeck.c (build_array_ref): Remove check for !flag_isoc99.  Call
      	pedwarn_c90 instead of pedwarn.
      gcc/testsuite/
      	* gcc.dg/Wc90-c99-compat-1.c: New test.
      	* gcc.dg/Wc90-c99-compat-2.c: New test.
      	* gcc.dg/Wc90-c99-compat-3.c: New test.
      	* gcc.dg/Wc90-c99-compat-4.c: New test.
      	* gcc.dg/Wc90-c99-compat-5.c: New test.
      	* gcc.dg/Wc90-c99-compat-6.c: New test.
      	* gcc.dg/wvla-1.c: Adjust dg-warning.
      	* gcc.dg/wvla-2.c: Adjust dg-warning.
      	* gcc.dg/wvla-4.c: Adjust dg-warning.
      	* gcc.dg/wvla-6.c: Adjust dg-warning.
      libcpp/
      	* lex.c (_cpp_lex_direct): Warn when -Wc90-c99-compat is in effect.
      	* charset.c (_cpp_valid_ucn): Likewise.
      	* include/cpplib.h (cpp_options): Add cpp_warn_c90_c99_compat.
      	* macro.c (replace_args): Warn when -Wc90-c99-compat is in effect.
      	(parse_params): Likewise.
      
      From-SVN: r213786
      Marek Polacek committed
    • Daily bump. · 7a9f1eed
      From-SVN: r213785
      GCC Administrator committed
  3. 09 Aug, 2014 8 commits
    • re PR fortran/61999 (`gfc_simplify_dot_product` causes ICE for constant arguments) · 4d051340
      2014-08-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/61999
      	* simplify.c (gfc_simplify_dot_product): Convert types of
      	vectors before calculating the result.
      
      2014-08-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/61999
      	* gfortran.dg/dot_product_3.f90:  New test case.
      
      From-SVN: r213782
      Thomas Koenig committed
    • devirt-35.C: Fix template. · 726540aa
      
      	* g++.dg/ipa/devirt-35.C: Fix template.
      	* g++.dg/ipa/devirt-36.C: Likewise.
      	* g++.dg/ipa/devirt-37.C: New testcase.
      	* ipa-devirt.c (get_dynamic_type): Handle case when instance is in
      	DECL correctly; do not give up on types in static storage.
      
      From-SVN: r213781
      Jan Hubicka committed
    • random.tcc (uniform_on_sphere_helper): Define. · 83a4216d
              * include/ext/random.tcc (uniform_on_sphere_helper): Define.
              (uniform_on_sphere_distribution::operator()): Use the new helper
              class for the implementation.
      
              * testsuite/ext/random/uniform_on_sphere_distribution/operators/
              equal.cc: Remove bogus part of comment.
              * testsuite/ext/random/uniform_on_sphere_distribution/operators/
              inequal.cc: Likewise.
              * testsuite/ext/random/uniform_on_sphere_distribution/operators/
              serialize.cc: Add check to verify result of serialzation and
              deserialization.
              * testsuite/ext/random/uniform_on_sphere_distribution/operators/
              generate.cc: New file.
      
      From-SVN: r213779
      Ulrich Drepper committed
    • 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com> · 42ee80b9
      	* Adjust date.
      
      From-SVN: r213777
      Paolo Carlini committed
    • invoke.texi ([Wnarrowing]): Update for non-constants in C++11. · 6a6bdc3d
      2014-08-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* doc/invoke.texi ([Wnarrowing]): Update for non-constants in C++11.
      
      gcc/cp
      2014-08-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* typeck2.c (check_narrowing): Add tsubst_flags_t parameter, change
      	return type to bool; in C++11 for constants give errors, not pedwarns.
      	* cp-tree.h (check_narrowing): Adjust declaration.
      	* call.c (convert_like_real): Update calls.
      	* semantics.c (finish_compound_literal): Likewise.
      
      gcc/testsuite
      2014-08-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp0x/Wnarrowing1.C: Adjust for errors.
      	* g++.dg/cpp0x/enum29.C: Adjust.
      
      /libstdc++-v3
      2014-08-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
      	character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
      
      From-SVN: r213776
      Paolo Carlini committed
    • re PR libstdc++/61667 (setting max_load_factor of unordered_map cause buckets shrink) · 01307898
      2014-08-09  François Dumont  <fdumont@gcc.gnu.org>
      
      	PR libstdc++/61667
      	* include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
      	_M_need_rehash to initialize the rehash policy and check if a rehash is
      	needed.
      	* testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
      
      From-SVN: r213775
      François Dumont committed
    • [gcc/] · b5bdf598
      	* graphite-isl-ast-to-gimple.c:
      	(translate_isl_ast_node_user): Use nb_loops instead of loop->num + 1.
      
      [gcc/testsuite]
      
      	* gcc.dg/graphite/isl-ast-gen-user-1.c: New testcase.
      
      From-SVN: r213774
      Roman Gareev committed
    • Daily bump. · 361f3f5f
      From-SVN: r213772
      GCC Administrator committed
  4. 08 Aug, 2014 14 commits
    • rs6000.md (*movdi_internal64): Add a new constraint. · b435752c
      	* config/rs6000/rs6000.md (*movdi_internal64): Add a new constraint.
      
      From-SVN: r213767
      Guozhi Wei committed
    • Remove skeleton type units that were being produced with -gsplit-dwarf. · 4dd7c3b2
      These sections were originally intended as targets for .gdb_index
      entries that needed to point to type units.  Because of the limitations
      of the .debug_gnu_pubnames/pubtypes sections with split DWARF, we were
      not able to pass along enough information to the gold linker to generate
      those index entries properly, and they had to point to the CU instead.
      GDB had to deal with that, and was updated a while ago to no longer
      depend on the skeleton TU sections at all. This allows us to reduce
      object file sizes with split DWARF by about 30%.
      
      gcc/
      	* dwarf2out.c (get_skeleton_type_unit): Remove.
      	(output_skeleton_debug_sections): Remove skeleton type units.
      	(output_comdat_type_unit): Likewise.
      	(dwarf2out_finish): Likewise.
      
      From-SVN: r213765
      Cary Coutant committed
    • * pt.c (lookup_template_class_1): Copy abi_tag. · a6b0c7bc
      From-SVN: r213762
      Jason Merrill committed
    • 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
  5. 07 Aug, 2014 2 commits