- 08 Aug, 2014 8 commits
-
-
* 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 -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 -
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 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 -
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 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 -
* gcc.dg/torture/pr61772.c: Skip lto running. From-SVN: r213748
Bin Cheng committed -
From-SVN: r213747
GCC Administrator committed
-
- 07 Aug, 2014 32 commits
-
-
* include/std/future (__location_invariant): Move specializations after preprocessor condition. From-SVN: r213744
Jonathan Wakely committed -
re PR tree-optimization/60707 (FAIL: gfortran.dg/pr45636.f90 -O scan-tree-dump-times forwprop2 "memset" 0) PR tree-optimization/60707 * gfortran.dg/pr45636.f90: xfail on 32-bit hppa*-*-*. From-SVN: r213740
John David Anglin committed -
* 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. * g++.dg/ipa/devirt-35.C: New testcase. * g++.dg/ipa/devirt-36.C: New testcase. From-SVN: r213739
Jan Hubicka committed -
gcc/ * Makefile.in: Remove references to pointer-set.c and pointer-set.h. * alias.c, cfgexpand.c, cgraphbuild.c, config/aarch64/aarch64-builtins.c, config/aarch64/aarch64.c, config/alpha/alpha.c, config/darwin.c, config/i386/i386.c, config/i386/winnt.c, config/ia64/ia64.c, config/m32c/m32c.c, config/mep/mep.c, config/mips/mips.c, config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c, config/stormy16/stormy16.c, config/tilegx/tilegx.c, config/tilepro/tilepro.c, config/xtensa/xtensa.c, dominance.c, dse.c, except.c, gengtype.c, gimple-expr.c, gimple-ssa-strength-reduction.c, gimplify.c, ifcvt.c, ipa-visibility.c, lto-streamer.h, omp-low.c, predict.c, stmt.c, tree-affine.c, tree-cfg.c, tree-eh.c, tree-inline.c, tree-nested.c, tree-scalar-evolution.c, tree-ssa-loop-im.c, tree-ssa-loop-niter.c, tree-ssa-phiopt.c, tree-ssa-structalias.c, tree-ssa-uninit.c, tree-ssa.c, tree.c, var-tracking.c, varpool.c: Remove includes of pointer-set.h. * pointer-set.c: Remove file. * pointer-set.h: Remove file. gcc/c-family/ * c-gimplify.c, cilk.c: Remove includes of pointer-set.h. gcc/c/ * c-typeck.c: Remove include of pointer-set.h. gcc/cp/ * class.c, cp-gimplify.c, decl.c, decl2.c, error.c, method.c, optimize.c, pt.c, semantics.c: Remove includes of pointer-set.h. From-SVN: r213738
Trevor Saunders committed -
* include/std/future (_State_baseV2::_M_set_result): Pass pointers to _M_do_set. (_State_baseV2::_M_do_set): Change parameters to pointers. (_State_baseV2::_Setter): Change _M_arg from reference to pointer. (_State_baseV2::__setter): Initialize _Setter with pointers. (_State_baseV2::__setter(promise<void>*)): Remove overload. (promise::set_value, promise::set_exception): Pass setter directly to _M_set_result. (_State_baseV2::_Task_setter): Add template parameter for callable type and replace std::function member with pointer to that type. Change _M_result member from reference to pointer. (_State_baseV2::_S_task_setter): Change parameter to lvalue reference and initialize _Task_setter with pointers. (__location_invariant): Specialize for _Setter and _Task_setter. From-SVN: r213737
Jonathan Wakely committed -
re PR c++/51312 ([C++0x] Wrong interpretation of converted constant expressions (for enumerator initializers)) /cp 2014-08-07 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51312 * decl.c (build_enumerator): Handle class types with conversion operators via perform_implicit_conversion_flags and build_expr_type_conversion. * cvt.c (build_expr_type_conversion): Replace pair of errors with error + inform. /testsuite 2014-08-07 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51312 * g++.dg/cpp0x/enum29.C: New. From-SVN: r213736
Paolo Carlini committed -
PR c++/62043 * parser.c (c_parse_file): Change sorry to fatal_error. From-SVN: r213732
Jason Merrill committed -
PR c++/61959 * semantics.c (cxx_eval_bare_aggregate): Handle POINTER_PLUS_EXPR. From-SVN: r213731
Jason Merrill committed -
* gcc.dg/atomic/c11-atomic-exec-4.c: Undefine _POSIX_C_SOURCE before defining in dg-options. * gcc.dg/atomic/c11-atomic-exec-5.c: Likewise. From-SVN: r213729
John David Anglin committed -
* gcc.dg/atomic/stdatomic-flag.c: Add xfail comment. From-SVN: r213727
John David Anglin committed -
* gcc.dg/memcpy-5.c: Add -fno-common option on hppa*-*-hpux*. From-SVN: r213723
John David Anglin committed -
* gcc.c-torture/compile/pr60655-1.c: Don't add -fdata-sections option on 32-bit hppa-hpux. From-SVN: r213720
John David Anglin committed -
* Makefile.in (LIBGCOV_INTERFACE): Move _gcov_dump ... (LIBGCOV_DRIVER): ... to here. * libgcov.h (gcov_do_dump): New #define. (struct gcov_root): New. (__gcov_root): New declaration. (__gcov_dump_one): Declare. * libgcov-driver.c (gcov_list, gcov_dump_complete, run_accounted): Delete. (gcov_compute_histogram): Add LIST argument, adjust. (compute_summary): Adjust gcov_compute_histogram call. (gcov_do_dump): Not hidden, static in libgcov. (gcov_clear): Move to interface.c. (__gcov_dump_one): New, broken out of ... (gcov_exit): ... here. Make static. (__gcov_root): New. (__gcov_init): Adjust. * libgcov-interface.c (gcov_clear, gcov_exit): Remove declarations. (__gcov_flush): Use __gcov_dump_one and __gcov_reset. (gcov_clear): Moved from driver.c. Add LIST argument. (__gcov_reset): Adjust for changed interfaces. (__gcov_fork): Remove local declaration of __gcov_flush_mx. From-SVN: r213719
Nathan Sidwell committed -
* gcc.dg/pr57233.c: Add -fno-common option on hppa*-*-hpux*. * c-c++-common/pr50459.c: Likewise. From-SVN: r213717
John David Anglin committed -
* include/bits/stl_list.h (_List_base::_List_base(_List_base&&)): Optimize. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise. From-SVN: r213716
Jonathan Wakely committed -
* config/arm/arm.md (*cmov<mode>): Set type attribute to fcsel. * config/arm/types.md (f_sels, f_seld): Delete. From-SVN: r213713
Kyrylo Tkachov committed -
[AArch64] Restrict usage of FP/SIMD registers for TImode reload and absdi2 patterns for non-float/simd targets. * config/aarch64/aarch64.md (absdi2): Set simd attribute. (aarch64_reload_mov<mode>): Predicate on TARGET_FLOAT. (aarch64_movdi_<mode>high): Likewise. (aarch64_mov<mode>high_di): Likewise. (aarch64_movdi_<mode>low): Likewise. (aarch64_mov<mode>low_di): Likewise. (aarch64_movtilow_tilow): Likewise. Add comment explaining usage of fp,simd attributes and of TARGET_FLOAT and TARGET_SIMD. From-SVN: r213712
Kyrylo Tkachov committed -
* config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Use MOVN when one of the half-words is 0xffff. Co-Authored-By: Kyrylo Tkachov <kyrylo.tkachov@arm.com> From-SVN: r213711
Ian Bolton committed -
2014-08-07 Marat Zakirov <m.zakirov@samsung.com> * config/arm/thumb1.md (*thumb1_movqi_insn): Copy of thumb1_movhi_insn. From-SVN: r213710
Marat Zakirov committed -
* haifa-sched.c (SCHED_SORT): Delete. Macro used exactly once. (enum rfs_decition:RFS_*): New constants wrapped in an enum. (rfs_str): String corresponding to RFS_* constants. (rank_for_schedule_stats_t): New typedef. (rank_for_schedule_stats): New static variable. (rfs_result): New static function. (rank_for_schedule): Track statistics for deciding heuristics. (rank_for_schedule_stats_diff, print_rank_for_schedule_stats): New static functions. (ready_sort): Use them for debug printouts. (schedule_block): Init statistics state. Print statistics on rank_for_schedule decisions. From-SVN: r213709
Maxim Kuvyrkov committed -
* haifa-sched.c (rank_for_schedule): Fix INSN_TICK-based heuristics. From-SVN: r213708
Maxim Kuvyrkov committed -
gcc/testsuite * gcc.target/i386/avx512f-vfixupimmpd-2.c: Include float.h instead of values.h, change MAXDOUBLE for DBL_MAX. * gcc.target/i386/avx512f-vfixupimmsd-2.c: Ditto. * gcc.target/i386/avx512f-vfixupimmps-2.c: Include float.h instead of values.h, change MAXFLOAT for FLT_MAX. * gcc.target/i386/avx512f-vfixupimmss-2.c: Ditto. * gcc.target/i386/avx512f-vpermi2d-2.c: Do not include values.h. * gcc.target/i386/avx512f-vpermi2pd-2.c: Ditto. * gcc.target/i386/avx512f-vpermi2ps-2.c: Ditto. * gcc.target/i386/avx512f-vpermi2q-2.c: Ditto. * gcc.target/i386/avx512f-vpermt2d-2.c: Ditto. * gcc.target/i386/avx512f-vpermt2pd-2.c: Ditto. * gcc.target/i386/avx512f-vpermt2ps-2.c: Ditto. * gcc.target/i386/avx512f-vpermt2q-2.c: Ditto. From-SVN: r213706
Petr Murzin committed -
gcc/ * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Fix constraint. From-SVN: r213704
Ilya Tocar committed -
gcc/ * hash-map.h (default_hashmap_traits): Adjust overloads of hash function to not conflict. * alias.c, cfgexpand.c, dse.c, except.h, gimple-expr.c, gimple-ssa-strength-reduction.c, gimple-ssa.h, ifcvt.c, lto-streamer-out.c, lto-streamer.h, tree-affine.c, tree-affine.h, tree-predcom.c, tree-scalar-evolution.c, tree-ssa-loop-im.c, tree-ssa-loop-niter.c, tree-ssa.c, value-prof.c: Use hash_map instead of pointer_map. gcc/cp/ * cp-tree.h, pt.c: Use hash_map instead of pointer_map. gcc/lto/ * lto-partition.c, lto.c: Use hash_map instead of pointer_map. From-SVN: r213703
Trevor Saunders committed -
* Add forgotten file. From-SVN: r213702
Kirill Yukhin committed -
* gcc.dg/pr61756.c: Remove arm-specific dg-options. From-SVN: r213701
Kyrylo Tkachov committed -
* fold-const.c (fold_binary_loc): Add folding of (PTR0 - (PTR1 p+ A) -> (PTR0 - PTR1) - A. c/ * c-typeck.c (pointer_diff): Remove P - (P + CST) optimization. testsuite/ * gcc.dg/fold-reassoc-3.c: New test. From-SVN: r213700
Marek Polacek committed -
gcc/ * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use decl size instead of type size. (ASM_FINISH_DECLARE_OBJECT): Likewise. gcc/testsuite/ * gcc.target/i386/struct-size.c: New. From-SVN: r213699
Ilya Enkovich committed -
From-SVN: r213697
Tom de Vries committed -
2014-08-07 Marat Zakirov <m.zakirov@samsung.com> * config/arm/thumb1.md (*thumb1_movhi_insn): Handle stack pointer. (*thumb1_movqi_insn): Likewise. * config/arm/thumb2.md (*thumb2_movhi_insn): Likewise. From-SVN: r213695
Marat Zakirov committed -
2014-08-07 Tom de Vries <tom@codesourcery.com> * gcc.dg/cproj-fails-with-broken-glibc.c: Remove test. * lib/target-supports.exp (check_effective_target_glibc) (check_effective_target_glibc_2_12_or_later) (check_effective_target_glibc_2_11_or_earlier): Remove proc. * doc/sourcebuild.texi (glibc, glibc_2_12_or_later) (glibc_2_11_or_earlier): Remove effective-target keywords. From-SVN: r213694
Tom de Vries committed -
2014-08-04 Tom de Vries <tom@codesourcery.com> * gcc.dg/cproj-fails-with-broken-glibc.c: Use xfail for broken glibc version instead of required-target. * lib/target-supports.exp (check_effective_target_not_glibc_2_11_or_earlier): Replace by ... (check_effective_target_glibc_2_11_or_earlier): ... this. * doc/sourcebuild.texi (glibc, glibc_2_12_or_later) (glibc_2_11_or_earlier): Document effective-target keywords. From-SVN: r213693
Tom de Vries committed
-